Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1522 connectés 

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  probléme programmation AS

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probléme programmation AS

n°1309426
regulus
Posté le 20-02-2006 à 08:04:58  profilanswer
 

Citation :

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
mood
Publicité
Posté le 20-02-2006 à 08:04:58  profilanswer
 

n°1310347
carinae
Posté le 21-02-2006 à 11:07:14  profilanswer
 

bon un petit up.  
Personne ne peut m'aider ???

n°1310369
mechkurt
Posté le 21-02-2006 à 11:30:02  profilanswer
 

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...)
 [:airforceone]  
de plus tu n'est pas tres clair sur ce qui fonctionne et ce qui ne fonctionne pas...


---------------
D3
n°1310388
regulus
Posté le 21-02-2006 à 11:39:36  profilanswer
 

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.  


Message édité par regulus le 21-02-2006 à 12:02:28
n°1310494
mechkurt
Posté le 21-02-2006 à 13:32:28  profilanswer
 

quel autres genre type d'effets souhaiterais tu avoir sur tes mots ?


---------------
D3
n°1310580
regulus
Posté le 21-02-2006 à 14:05:15  profilanswer
 

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.

n°1310620
mechkurt
Posté le 21-02-2006 à 14:24:55  profilanswer
 

Code :
  1. // variable d'environnement
  2. Object.environment = this;
  3.  
  4. // creation objet camera
  5. this.cam = {x:0, y:0, z:500, dx:0, dy:0, dz:-500};
  6.  
  7. // constante d'environnement
  8. this.fl = 1000;
  9.  
  10. // creation espace entre mot
  11. this.createEmptyMovieClip("space",1);
  12. // centrage "espace"
  13. space._x=300;
  14. space._y=169;
  15.  
  16. // table des mots selectionnables
  17. this.somewords = "vent brouillard chaleur meteo sport news espace sorties informatique ";
  18. // conversion mot dans table
  19. this.wordList = new Array();
  20. this.wordList = this.somewords.split(" " );
  21.  
  22. // creation instance pour chaque mot
  23. for (n=0;n<this.wordList.length;n++) {
  24.     // selection mot dans liste
  25.     var word = Object.environment.wordList[n];
  26.     var x = random(600)-300;
  27.     var y = random(337)-169;
  28.     var z = random(Object.environment.fl*2)-Object.environment.fl;
  29.     
  30.     // creation instance dans objet word
  31.     nombre = "word"+String(depth++);
  32.     initialization = {txtword: word, x: x, y: y, z: z};
  33.     space.attachMovie("spaceWord", nombre, depth, initialization);
  34.     space.onPress = function() {
  35.         trace(this);
  36.     }
  37. }
  38.  
  39. this.onEnterFrame = function() {
  40.     this.cam.dz+=.5;
  41.     // deplacement camera vers selection
  42.     this.cam.x+=(this.cam.dx-this.cam.x)/10;
  43.     this.cam.y+=(this.cam.dy-this.cam.y)/10;
  44.     this.cam.z+=(this.cam.dz-this.cam.z)/30;
  45. }
  46.  
  47. stop();


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)


---------------
D3
n°1310633
regulus
Posté le 21-02-2006 à 14:34:05  profilanswer
 

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 ...

n°1310635
regulus
Posté le 21-02-2006 à 14:34:19  profilanswer
 

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 ...

n°1311149
regulus
Posté le 22-02-2006 à 08:40:58  profilanswer
 

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 ??  

mood
Publicité
Posté le 22-02-2006 à 08:40:58  profilanswer
 

n°1311152
mechkurt
Posté le 22-02-2006 à 08:51:49  profilanswer
 

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  [:airforceone]  
 
il faudrait que tu fasses des creatEmptyMovieClip() ou des duplicateMovieClip() pour chaque mot...


---------------
D3
n°1311172
regulus
Posté le 22-02-2006 à 09:27:08  profilanswer
 

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 ?
 

n°1311302
mechkurt
Posté le 22-02-2006 à 11:31:29  profilanswer
 

ben oui, pour que tes mots soit des movieclip differents, t'a pas trops le choix...


---------------
D3
n°1311419
regulus
Posté le 22-02-2006 à 13:33:31  profilanswer
 

Ok merci pour ton aide

n°1315429
carinae
Posté le 28-02-2006 à 16:03:10  profilanswer
 

non je dois m'y prendre comme un manche parce que la visiblement je n'arrive a rien !:-(((

n°1315431
mechkurt
Posté le 28-02-2006 à 16:06:12  profilanswer
 

madame Irma lire dans ton code qu'il y a probleme ligne 27, 53 et 72...
 [:al zheimer]  
poste ton code si tu veux de l'aide...


---------------
D3
n°1315455
regulus
Posté le 28-02-2006 à 16:31:41  profilanswer
 

;-))
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


Message édité par regulus le 28-02-2006 à 16:42:14
n°1315498
mechkurt
Posté le 28-02-2006 à 17:12:40  profilanswer
 

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 :
  1. MovieClip.prototype.moncomportement = function(info:String, n:Number) {
  2.   //truc fait a l'initialisation
  3.   this.text_txt.text = info;
  4.   this._y = n*20;
  5.   this.onPress = function() {
  6.      //truc a faire quand on clique sur l'occurence
  7.   }
  8.   this.onEnterFrame = function() {
  9.      //truc a faire plusieurs fois par secondes
  10.   }
  11. }


et la creation de celle ci d'un autre:

Code :
  1. var wordList_array = new Array("vent","brouillard","chaleur","meteo","sport","news","espace","sorties","informatique" );
  2. for (n=0;n<wordList_array.length;n++) {
  3.   proto_mot_mc.duplicateMovieClip(wordList_array[n]+"_mc", n+10);//sinon ta premier occurence ayant le niveau 0 interdit serat zappé
  4.   _root[wordList_array[n]+"_mc"].moncomportement(wordList_array[n], n);
  5. }


 
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...


Message édité par mechkurt le 28-02-2006 à 18:20:23

---------------
D3
n°1315555
regulus
Posté le 28-02-2006 à 18:11:20  profilanswer
 

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

n°1315562
mechkurt
Posté le 28-02-2006 à 18:27:22  profilanswer
 

:??:  
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...
 [:airforceone]  
... 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...


---------------
D3

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  probléme programmation AS

 

Sujets relatifs
probleme de programmation sous matlab[php] Programmation objet, probleme d'inclusion
probleme de programmation sur serveurprobleme programmation
[ASP.net][C#] problème plus conceptuel que de programmationprobleme programmation matlab
Recherche langage de programmation pour problème précisProbleme en programmation, langage C !!! Aidez moi svp!!!
Probleme de programmation unix et stdarg.hConseils programmation VBA - Comment résoudre mon problème !
Plus de sujets relatifs à : probléme programmation AS


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR