Faire une bar de "puissance" avec un UILongPressgestureRecognizer

Bonjour à  tous !


 


J'ai besoin d'aide pour m'orienter dans ma recherche. Je suis en train de faire un petit jeu débile pour s'amuser au bureau, et j'aurai besoin de savoir comment faire une barre qui augmenterait tant que l'utilisateur reste appuyé sur l'écran par exemple. Cette barre représente la force que veut mettre l'utilisateur dans son coup (ici il s'agit de ping pong^^).


 


En fait j'utilise pour le moment un UILongPressGestureRecognizer couplé avec une contrainte qui s'incrémente. Le problème c'est que comme je met à  jour les contraintes via une animation pour que ça fasse plus jolie, si je stop l'animation, la contrainte a déjà  été changée. Voilà  donc c'est dans l'idée que j'aurais besoin d'aide :)


 


Merci d'avance !


Réponses

  • Jeu .. s'amuser .. bureau ..

    Trouver l'intrus !
  • RomheinRomhein Membre
    décembre 2014 modifié #3


    Jeu .. s'amuser .. bureau ..

    Trouver l'intrus !




     


    ahah qui n'a pas fait des parties de duelQuiz caché derrière son clavier ;)


    (ou même en réunion d'ailleurs)


  • Bon... désolé pour le poste un peu inutile et je l'avoue Draken, un peu scandaleux aussi :/


     


    Sinon plus sérieusement, je me suis creusé la tête environ 2 sec, et j'ai utilisé un NSTimer pour faire ce que je voulais :


    Quand le doigt reste sur l'écran, le timer fait des boucles et incrémente les NSConstraintes :



    uneInstanceDeMonTimer =[NSTimer scheduledTimerWithTimeInterval:0.005
    target:self
    selector:@selector(incrementerContraintes:)
    userInfo:nil
    repeats:YES];

    Quand le doigt est retiré, le timer est invalidé :



    [ uneInstanceDeMonTimer invalidate]

    Je sais pas si c'est l'idéal pour faire ce que je veux, mais bon, c'est tout ce que j'ai trouvé et ça fonctionne plutôt bien.

  • AliGatorAliGator Membre, Modérateur
    Pour faire un truc qui s'anime non pas en fonction d'une durée (ici arbitraire, 0.005s), mais plutôt régulièrement avec les refresh de l'écran, il est préférable d'utiliser CADisplayLink plutôt que NSTimer.
Connectez-vous ou Inscrivez-vous pour répondre.