J'ai déjà eu ce problème, et dans la solution que j'utilise tout le temps c'est d'ajouter un effet glissière pour activer ou désactiver l'expression en fonction du temps. Quand je veux désactiver l'effet je met le curseur de la glissière à 0, et quand je veux l'activer je lui donne une valeur supérieure à 0. Ensuite il n'y a plus qu'à ajouter un if dans l'expression :
- Code: Tout sélectionner
var curseur = effect("Paramètre glissière")("Curseur").value;
if( curseur != 0 ){
blinkSpeed = 1;
t = (Math.cos (blinkSpeed*time*Math.PI*2)+1)/2;
v = linear(t, 0, 1, 0, 1);
Math.round(v)*100;
}
Sauf que là ça marche pas, je sais pas pourquoi, je me récupère une vielle erreur :
After Effects CS6 US a écrit:After Effects warning: Object of type Layer found where a Number, Array, or Property is needed
Expression disabled.
After Effects CS6 FR a écrit:AfterEffects (alerte) : Erreur : Valeur non définie utilisée dans l'expression.
Ensemble d'indices hors limites ?
Expression désactivée.
J'ai essayé d'afficher le type du curseur avec la fonction typeof, c'est bien un type Number, donc je ne comprends pas.
"Si tu veux me parler, envoie-moi un... FAX !" - George Abitbol