Le site www.fousdanim.org n’est plus mis à jour depuis le 10 juillet 2015. Les outils de recherche sont toujours actifs mais nous vous invitons à aller ailleurs pour trouver des lieux plus vivants dédiés au cinéma d’animation.

(FLASH) Problème d'action script après un "gotoAndPlay&

Discussions, questions, astuces relatives a l'animation Flash et assimile (ToonBoom, etc)

(FLASH) Problème d'action script après un "gotoAndPlay&

Messagepar neymeau » Ven Aoû 15, 2008 9:10 am

Bonjour à tous, :D

Etant débutant en Action Script, je suis confronté à un problème sur une e-card.
Je vous explique le contexte :
L'e-card sur laquelle je travaille possède un bouton "rejouer" <on (release) { gotoAndPlay(1); }> sur la dernière frame, ainsi qu'un <stop();> pour qu'un script de neige qui tombe puisse tomber en continu avant que l'on relance l'anim.

Mon souci est le suivant :

Lorsque l'on clique sur le bouton "rejouer", l'animation se relance normalement, mais le script de neige continue se s'éxécuter alors qu'il n'apprait en temps normal qu'au milieu de l'anim.

Ai-je oublié d'ajouter un script bloquant la chute de neige ?

Merci d'avance, :)
Avatar de l’utilisateur
neymeau
petit fou, petite folle
 
Messages: 163
Inscription: Mer Jan 19, 2005 4:30 pm
Localisation: Angoulême
Film d'animation culte: Tokyo Godfathers

Messagepar cestquoiladresse » Ven Aoû 15, 2008 10:23 am

Salut,

Tu as du charger ton anim' de la neige via LoadMovie etc. ....
Tu dois la décharger via UnLoadMovie etc. ...
Puis GotoAndPlay(1)

;)

CQLD
cestquoiladresse
aliéné(e) moyen(ne)
 
Messages: 275
Inscription: Mar Jan 22, 2008 7:25 pm
Localisation: Rennes
Film d'animation culte: Candy-boy

Messagepar benjouk » Ven Aoû 15, 2008 12:22 pm

salut !

Il faudrait qu'on sache ce qu'il y a dans le script de la neige, ça peut être ce que dit CQLD ou un onEnterFrame...

File nous ton code quoi !

après je ne sais pas si c'est une coquille mais ici ;

on (release) { gotoAndPlay(1); } la fin d'instruction ( ; ) doit intervenir apres l'accolade. ça na pas forcément d'impact dans ce cas, mais quand tu as 4000 lignes de code ça peut jouer, c'est histoire d'avoir un code propre aussi.
Avatar de l’utilisateur
benjouk
aliéné(e) moyen(ne)
 
Messages: 258
Inscription: Dim Fév 18, 2007 3:40 pm
Localisation: 127.0.0.1
Film d'animation culte: Idiots and Angels

Messagepar cuikisouri » Ven Aoû 15, 2008 3:06 pm

Je pense que cestquoiladresse a la bonne reponse mais effectivement il faut savoir comment tu crées la neige pour découvrir comment la supprimer, si c'est du code qui crée un enterframe il faut supprimer l'enterframe, si c'est un clip qui se load il faut enlever le clip, si c'est un clip dans lequel on a fait play il faut faire stop ....
Imagine le monde
Avatar de l’utilisateur
cuikisouri
grand fou, grande folle
 
Messages: 1095
Inscription: Jeu Mar 31, 2005 12:38 pm
Localisation: Sur terre
Film d'animation culte: Mind Game

Messagepar neymeau » Ven Aoû 15, 2008 5:50 pm

Merci à tous pour ces réponses.

J'ai essayé, comme vous me l'avez suggéré, de décharger l'anim via un UnLoadMovie, mais cela ne fonctionne pas.
Pour éviter de vous faire perdre du temps et ainsi préciser les choses, je vous montre le code utilisé :
for (k=0; k<245; k++) {
duplicateMovieClip(_root.snow, "snow"+k, k);
}

Ce code est palcé sur un frame au milieu de l'anim (environs 20 sec.)
Et à cet endroit, le MovieClip qui est appelé possède ce code pour pouvoir se dupliquer et bouger de façon paramétrable :
onClipEvent (load) {
movieWidth = 800;
movieHeight = 580;

i = 1+Math.random()*2;
k = -Math.PI+Math.random()*Math.PI;

this._xscale = this._yscale=50+Math.random()*100;
this._alpha = 75+Math.random()*100;
this._x = -10+Math.random()*movieWidth;
this._y = -10+Math.random()*movieHeight;
}
onClipEvent (enterFrame) {
rad += (k/180)*Math.PI;
this._x -= Math.cos(rad);
this._y += i;
if (this._y>=movieHeight) {
this._y = -5;
}
if ((this._x>=movieWidth) || (this._x<=0)) {
this._x = -10+Math.random()*movieWidth;
this._y = -5;
}
}


En tous cas, merci pour vos éclairages en ce beau 15 août.
Avatar de l’utilisateur
neymeau
petit fou, petite folle
 
Messages: 163
Inscription: Mer Jan 19, 2005 4:30 pm
Localisation: Angoulême
Film d'animation culte: Tokyo Godfathers

Messagepar cuikisouri » Ven Aoû 15, 2008 8:38 pm

ca ca marche pas ?

for (k=0; k<245; k++) {
removeMovieClip("snow"+k);
}

le code doit être au même niveau de profondeur que le duplicate....
Imagine le monde
Avatar de l’utilisateur
cuikisouri
grand fou, grande folle
 
Messages: 1095
Inscription: Jeu Mar 31, 2005 12:38 pm
Localisation: Sur terre
Film d'animation culte: Mind Game

Messagepar cestquoiladresse » Ven Aoû 15, 2008 9:21 pm

Perso je ne mets jamais de code dans une frame en particulier mais plutôt dans un clip hors cadre qui est omniprésent sur toute la timeline. L'objectif de ce type de méthode c'est d'avoir toujours ses variables accessibles par le code et non pas au passage sur la timeline. En espérant avoir donné une piste.

Bonne soirée,

CQLD
cestquoiladresse
aliéné(e) moyen(ne)
 
Messages: 275
Inscription: Mar Jan 22, 2008 7:25 pm
Localisation: Rennes
Film d'animation culte: Candy-boy

Messagepar neymeau » Sam Aoû 16, 2008 12:15 pm

:D Merci Cuikisouri !! Ca fonctionne ! :D
J'avais mal rédigé mon code (j'ai de gros progrès à faire en la matière).
CQLD, je vais prendre en compte tes conseils afin de travailler plus proprement.

Encore merci à vous tous pour ces précieux conseils. :)
Avatar de l’utilisateur
neymeau
petit fou, petite folle
 
Messages: 163
Inscription: Mer Jan 19, 2005 4:30 pm
Localisation: Angoulême
Film d'animation culte: Tokyo Godfathers


Retourner vers Section Flash et Vectoriel

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 13 invités