sandV
Messages postés32Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention 2 février 2010
-
13 déc. 2009 à 12:39
sandV
Messages postés32Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention 2 février 2010
-
21 déc. 2009 à 14:24
Bonjour à tous,
Il neige chez moi aujourd'hui et je ne peut l'arrêter (je n'en n'ai d'ailleurs pas envie, ce que j'aimerais c'est stopper snowflake dans mon anim ! Script que j'ai récupéré sur ce forum et qui est super, pour faire une petite anim interactive pour les voeux 2010.
J'ai crée dynamiquement un certains nombre de clip. La neige est déclenché dans une fonction avec un addChildAt. Tout va bien jusque là. Au dessus un autre clip arrive et à un moment il doit arrêter la neige. Je removeChildAt le clip neige, il ne se passe rien, si j'en remove un autre ça marche (cela dit,j'arrive à ne plus les afficher mais je n'arrive pas à leur dire d'aller à tel ou tel image de leur scénario). J'en déduit donc que le script snowflake marche indépendement du clip qui le charge. Ceci est mon premier souci, le deuxième est qu'un certain nombre de flocons sont noirs, j'en ai tiré mon parti, cela donne un style mais j'aurai bien aimé savoir pourquoi. Je regarde le script .as et ne vois pas.
J'aimerais beaucoup pouvoir passer en 2010 !
A +
Sandrine
public class Snowflake extends Shape {
private var stageWidth:int = 780;
private var stageHeight:int = 400;
private var highestDropSpeed:uint = 16;
private var dropSpeed:int = Math.round(Math.random() * Math.random() * highestDropSpeed);
private var incrementer:int = Math.round(Math.random() * 100);
private var shades:Array = [ 0xFFFFFF, 0xFFFFFF, 0xFFFFFF, 0xFFFFFF ];
private var windSpeed:int = 2;
public function Snowflake() {
graphics.beginFill(shades[ Math.ceil(Math.random() * shades.length) ]);
graphics.drawCircle(0,0,4);
graphics.endFill();
filters = [ new BlurFilter(1,dropSpeed,1) ];
addEventListener(Event.ENTER_FRAME,update);
reset();
}
private function reset():void {
y = Math.random() * stageHeight * -1;
x = Math.random() * stageWidth - (windSpeed*100);
scaleX scaleY 0.25 + (Math.random() * Math.random() * 0.75);
}
private function update(e:Event):void {
y += dropSpeed;
x += windSpeed + Math.sin(incrementer/10) * (1/(dropSpeed/3));
if (y > stageHeight) {
reset();
}
incrementer++;
}
}
}
Je ne sais pas si c'est les renseignement que tu me demandes...
sandV
Messages postés32Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention 2 février 2010 13 déc. 2009 à 14:36
Impossible de me rappeler le site ou ce script était proposé. J'ai entre temps vider mon historique. je croyais que cela venait de flashcode mais peut-être pas, je me souviens d'un nom jarodx ou quelque chose comme ça.
Il n'y a aucune référence à l'auteur dans le dossier téléchargé. Cela pose problème ?
SV
Vous n’avez pas trouvé la réponse que vous recherchez ?
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 13 déc. 2009 à 14:39
La chose à faire dans ce genre de cas serait en premier lieu de demander à l'auteur de la source la façon dont il faut arrêter les flocons, oui ... cas pour te répondre ça nous demandes de lire la source, de la comprendre, de l'interprêter et après de t'expliquer comment faire.
L'auteur connaissant déjà sa source n'aurait qu'à te donner la réponse sans toutes ces étapes.
sandV
Messages postés32Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention 2 février 2010 13 déc. 2009 à 15:04
Bien, c'est vrai, je vais chercher.
Si tu veux bien juste m'aiguiller sur une question toujours concernant cette l'anim que je suis en train de faire. Pour communiquer d'un clip à l'autre (tous dans la bibliothèque, afficher en addChildAt)je n'arrives qu'à les enlever de l'affichage pas à les faire aller à une autre image de leur scenario.
Ex.
j'ai 2 clips à modifier
Dans un 3e clip je met :
stop();
parent.removeChildAt(2);
parent.colline.gotoAndStop(10);
Le clip en niveau 2 s'efface, message d'erreur pour le clip colline, il ne le trouve pas. J'ai mis celui-ci est en addChildAt (3) mais je ne sais pas comment lui faire reconnaitre.???
SV
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 13 déc. 2009 à 15:54
l'appel de parent n'est pas conseillé en général, car i crée des soucis de communication en as3 ...le mieux est de déclencgher une fonction au niveau inférieur qui fera ce que tu veux.
sandV
Messages postés32Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention 2 février 2010 17 déc. 2009 à 17:12
Bonjour,
J'ai retrouvé l'auteur du script en question, j'ai laissé un message mais tout cela datait un peu et ira-t-il voir ? répondra-t-il ?
En bref, il vaut mieux que je cherche, et je me demande comment arrêter un script as externe, quand je crée une fonction ou autre chose dedans, mon fla ne la trouves pas.
Peuvent-ils communiquer ?
sandV
Messages postés32Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention 2 février 2010 19 déc. 2009 à 18:36
Bonjour, je cherche toujours... c'est le week-end, j'ai un peu le temps !
Je n'arrives pas à mes fins mais j'avance un peu dans la compréhension...
J'ai donc un certains nombres d'évènements dont un qui déclenche la fonction suivante :
function neigTombe()
{
for(var i:int; i<800; i++){
var snowflake:Snowflake = new Snowflake();
snowflake.name = "zz";
addChildAt(snowflake,6);
}
}
puis
addEventListener(Event.ENTER_FRAME,finNeige)
function finNeige (event):void
{
if (bonHom.rond.y== -20)
{
trace(getChildByName("zz" is Shape);
removeChild(getChildByName("zz"));
trace(numChildren);
removeEventListener(Event.ENTER_FRAME,finNeige);
}
}
Je constate dans ma fenêtre de sortie que snowflake est un object Shape (true) et que j'ai un enfant de moins.
Je vois qu'une fois que j'ai fait appel au fichier Snowflakes.as, il continue de fonctionner mais alors puisque j'ai fait un removeChild ou est-il placé ?
Question stupide, certainement mais enfin je la pose quand-même...
Je sens bien que l'idée serait de pouvoir stopper les functions qui sont dans le fichier externe mais alors là j'ai essayé tout ou presque.
SV
sandV
Messages postés32Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention 2 février 2010 20 déc. 2009 à 11:15
Bonjour à tous ou à personne ...
J'ai l'impression de me causer à moi-même mais c'est pas grave quand vous en aurez marre vous n'aurez qu'à me le faire savoir.
J'ai bêtement mis mon snowflake dans un conteneur, virer mes At de mes addChild et en faisant un remove sur conteneur la neige disparait. C'est pas très classe, j'aurais aimé que les flocons s'arrêtent de tomber mais bon pour cela il faut que la fonction soit dans le fichier externe (j'imagine)et que je puisse le déclencher quand je veux.
Alors en attendant (quoi ?)je me remet au graphisme de mon anim pour la finir et je vous (me) la montre bientôt.
sandV
Messages postés32Date d'inscriptionsamedi 1 décembre 2007StatutMembreDernière intervention 2 février 2010 21 déc. 2009 à 14:24
Bon, voilà, j'en reste là...quelques clics pour des voeux...
La musique est un peu spéciale, je verrai si je la change.
http://www.sandv.fr/aaa/bonane.html Et bonnes fêtes à tous.