2016-06-09 2 views
0

Vous ne savez pas si le débordement est strictement le bon endroit, mais il est techniquement codé.Modifier la variable une seule fois avec l'instruction if

J'essaie d'écrire une expression dans Adobe After Effects pour activer et désactiver une seule case dans une instruction if.

J'ai un objet avec un parent nul. L'objet nul est en rotation. Lorsque l'objet nul arrive à une certaine rotation, je veux une case à cocher pour activer et rester sur

C'est ce que j'ai essayé, mais ne fonctionne évidemment pas

t=0; 
yrot=transform.rotation; 

if(yrot==0){ 
    t=1; 
} 

if(t==1){ 
    active; 
} 

Quelqu'un at-il des idées?

Répondre

0

vous pouvez ajouter une deuxième variable de type boolean pour vérifier si vous avez déjà entré l'instruction if.

Je recommande d'ajouter quelque chose comme boolean done = false; (je ne suis pas sûr de la syntaxe ...)

et dans le instruction if:

if (t == 1 && !done) { 
    active; 
    done = true; 
} 
+0

Le problème est que l'objet nul continue pour tourner au-delà de 0 ° (0 ° est le point de déclenchement) de sorte que la déclaration est seulement vrai pour une seconde – GiggleSquid

+0

oh désolé je n'ai pas eu cela en premier. Pourriez-vous probablement vérifier l'état de la case à cocher au lieu de la variable booléenne? quelque chose comme 'if (t == 1 &&! checkbox.isActive())'? – Katharina

+0

Fondamentalement ce qui se passe est que l'instruction est vraie pendant une seconde et t = 1, alors l'instruction est fausse et t = 0. Quand t == 1 il doit rester égal à un – GiggleSquid