probléme programmation AS - Flash/ActionScript - Programmation
Marsh Posté le 21-02-2006 à 11:30:02
ben non, pas en l'état car si ton actionscript est comprehensible, il manque pas mas de chose crée en animation, ou defini ailleur pour comprendre l'ensemble de l'animation (par ex. dans la bibilotheque un clip est exporte (liaison) avec le nom "spaceWord", a quoi ressemble t'il, que fait il...)
de plus tu n'est pas tres clair sur ce qui fonctionne et ce qui ne fonctionne pas...
Marsh Posté le 21-02-2006 à 11:39:36
je te monterais bien l'exemple dont je m'inspire (une partie de l'AS
est mentionné ci-dessus) mais je ne peux pas rajouter de PJ
Tu as des mots qui arrivent dans tous les coins, ce sont les mots que tu retrouves
dans la table someworld. Le reste c'est uniquement pour l'effet de zoom et
le rollOver. Si tu fais un Rollover sur le mot la "camera" zoome dessus et ce que je vourdrais
c'est en plus de cela si tu cliques sur le mot tu charges un nouveau clip ! enfin c'est çà l'idée
Le probléme c'est que je n'arrives deja pas a placer le "onPress" avec l'action qui va bien
(différente pour chaque mot)
En fait ce que je cherche a faire c'est quelque chose comme çà [url]http://www.swishzone.com/products/sites/site02/index.html
mais avec un effet de caméra différent.
Marsh Posté le 21-02-2006 à 14:05:15
c'est tout. Un Rollover pour amener le mot au 1er plan et un clic sur le mot pour ensuite charger une page ou un clip en fonction du mot. Si j'arrive deja a çà ... çà sera deja pas mal.
Marsh Posté le 21-02-2006 à 14:24:55
Code :
|
essaye avec ce code juste pour voir si il prend le onPress (si oui tu devrais avoir le nom absolu du clip qui s'affiche dans la palette de sortie de Flash)
Marsh Posté le 21-02-2006 à 14:34:05
Ok je vais essayer çà se soir et je te tiens au courant.
A priori tu as placé le on press au même endroit que moi même si tu n'as pas utilisé la même instruction ...
Marsh Posté le 21-02-2006 à 14:34:19
Ok je vais essayer çà se soir et je te tiens au courant.
A priori tu as placé le on press au même endroit que moi même si tu n'as pas utilisé la même instruction ...
Marsh Posté le 22-02-2006 à 08:40:58
bon j'ai fait le test. A 1er vue il reagit bien au test, avec un message
"_level10". Par contre le roolover est bloqué mais je suppose que
c'est le but du trace ??
Marsh Posté le 22-02-2006 à 08:51:49
si quand tu clique sur n'importe lequel des mots tu as systematiquement la même réponse (_level10) c'est que tun 'as pas differnetes occurences mais une seul...
en l'état tu ne peux donc pas leur donner des comportements differents
il faudrait que tu fasses des creatEmptyMovieClip() ou des duplicateMovieClip() pour chaque mot...
Marsh Posté le 22-02-2006 à 09:27:08
c'est donc bien ce que j'avais cru comprendre.
il faut donc que dans ma boucle for j'integre un CreateEmptyMovieClip" ("vent" ) par exemple suivi d'un vent.onPress .... et ainsi de suite por chaque mot ?
Marsh Posté le 28-02-2006 à 16:03:10
non je dois m'y prendre comme un manche parce que la visiblement je n'arrive a rien !:-(((
Marsh Posté le 28-02-2006 à 16:31:41
;-))
heu desolé !! en ce qui me concerne le code sur lequel je bute est toujours le même celui ci dessus. Je vois bien que les mots ne sont pas dissocié mais ... je n'arrive pas a les séparer
Peut-être en faisant quelque chose comme çà dans ma boucle
for (n=0;n<this.wordList.length;n++)
var world = worldList.createEmptyMovieClip("mot"+n, n);
mc.createEmptyMovieClip("conteneur", 0);
et ensuite ????
mais je ne suis même pas sur que se soit la bonne façon de procéder
Marsh Posté le 28-02-2006 à 17:12:40
ton code me parait bien compliqué, surtout pour n'arriver a rien, mais c'est ce qui arrive quand on part d'un code ecrit par un autre (que l'on ne comprend qu'a moitié) et qu'on essaye de l'adapter a ce que l'on veut faire...
ne le prend pas mal (c'est aussi un aveux d'impuissance)
tu devrait dissocier la creation du comportement des occurences:
Code :
|
et la creation de celle ci d'un autre:
Code :
|
en supposant que tu ai un movieclip appellé proto_mot_mc sur ta scene a l'interieur duquel se trouve un champs texte dynamique appellé text_txt...
essaye de comprendre a quoi sert tous ca et revient apres...
Marsh Posté le 28-02-2006 à 18:11:20
heu ...si c'est pour faire des commentaires de ce style tu peux t'en passer. Tu n'es pas la pour çà
je n'ai jamais dit que je l'utilisais pour faire ce que je voulais
Marsh Posté le 28-02-2006 à 18:27:22
tu le prend comme tu veux mais la moitié des trucs dans ton code n'ont rien a voir avec la finalité du truc alors je suis en droit prend le droit de faire des remarques...
... ce qui ne m'as pas empéché de te filer presque l'intégralité du code dont tu as besoin (ce que je ne fait que rarement) pour que tu repartes sur de bonne bases!
maintenant si t'es pas content j'ai froissé ta suceptibilité, tu n'as qu'a attendre de l'aide de la part de qq'un d'autres...
Marsh Posté le 20-02-2006 à 08:04:58
Bonjour
voila,je ne sais pas si je dois poste ca ici mais bon ...
Je m'interesse depuis peu a flash et notamment a l'actionscript. Je voudrais faire une animation avec des mots. Je me base sur un exemple notamment dans lequel il y a ce code.
Moi ce que je voudrais en plus c'est qu'en fonction du mot sur lequel on clique on charge telle ou telle animation. Le souci c'est que ... je ne sais pas trop comme m'y prendre.Dans l'exemple ci dessous les mots sont, visiblement, stockés dans une table. On m'a dit qu'il fallait creer un nouveau movieClip.
Est-ce vrai ?
Si oui ou le creer et comment procéder car une action est différente pour chaque
mot ? Cela fait 15 jours que je suis dessus et je pense n'etre pas trop loin de la solution mais a chaque
fois il y a quelque chose qui m'echappe.
// variable d'environnement
Object.environment = this;
// creation objet camera
this.cam = {x:0, y:0, z:500, dx:0, dy:0, dz:-500};
// constante d'environnement
this.fl = 1000;
// creation espace entre mot
this.createEmptyMovieClip("space",1);
// centrage "espace"
space._x=300;
space._y=169;
// table des mots selectionnables
this.somewords = "vent brouillard chaleur meteo sport news espace sorties informatique ";
// conversion mot dans table
this.wordList = new Array();
this.wordList = this.somewords.split(" " );
// creation instance pour chaque mot
for (n=0;n<this.wordList.length;n++) {
// selection mot dans liste
var word = Object.environment.wordList[n];
var x = random(600)-300;
var y = random(337)-169;
var z = random(Object.environment.fl*2)-Object.environment.fl;
// creation instance dans objet word
nombre = "word"+String(depth++);
initialization = {txtword: word, x: x, y: y, z: z};
space.attachMovie("spaceWord", nombre, depth, initialization);
}
this.onEnterFrame = function() {
this.cam.dz+=.5;
// deplacement camera vers selection
this.cam.x+=(this.cam.dx-this.cam.x)/10;
this.cam.y+=(this.cam.dy-this.cam.y)/10;
this.cam.z+=(this.cam.dz-this.cam.z)/30;
}
stop();
Message édité par regulus le 20-02-2006 à 08:39:46