| [résolu] programmation : déplacer un objet | |
|
Auteur | Message |
---|
arty69 Nouveau (nouvelle)
Nombre de messages : 12 Age : 35 Localisation : Lyon Date d'inscription : 29/01/2011
| Sujet: [résolu] programmation : déplacer un objet Sam 05 Fév 2011, 18:29 | |
| Bonjour, Je suis débutant en programmation action script et je commence tout juste a réaliser quelques tests pour me familiariser avec ce langage. Pour suivre le mouvement de la souris a l'écran, j'ai crée un fichier qui déplace un personnage pour le faire suivre la souris. Mon problème vient du fait que lorsque mon personnage se déplace, l'ensemble de mes objets se déplacent aussi. Voici une image pour illustrer mes propos : J'ai mis le nom de mes objets en rouge (par nom j'entend que lorsque j'ajoute un objet, je le renomme en haut a gauche a la place de sans_nom... par un nom approprié). Mon idée était de faire superposer les deux images wanwan1 et wanwan2, de masquer l'une ou l'autre et de les déplacer (juste en x) en direction de la souris. Le texte est sensé rester fixe. Le but, c'est de ne voir qu'un seul wanwan, orienté dans le bon sens, se déplacer en direction de la souris et passer par dessus le texte qui reste fixe. Voici le code que j'ai mis pour faire cela : - Code:
-
class arty{ static var soux:Number=1; static var wanx:Number=1; static var vitesse:Number=3;
static function action_0(mc:MovieClip):Void{ /* <id method> <1296913982581/0> ne pas supprimer ni déplacer ce commentaire / don't supress or move this comment.*/ soux=_root._xmouse; wanx=_root.wanwan1._x; if(soux>wanx+10){ _root.wanwan1._x = wanx + vitesse; _root.wanwan1._visible=true; //_root.wanwan2._visible=false; _root.wanwan2._x=_root.wanwan1._x; } if(soux<wanx-10){ _root.wanwan2._x = wanx - vitesse; _root.wanwan2._visible=true; //_root.wanwan1._visible=false; _root.wanwan1._x=_root.wanwan2._x; } } } Le souci, c'est que apparemment mon code repère bien le déplacement de la souris car il déplace bien les images mais comme si elles étaient collées entre elles (l'image que vous voyez plus haut se déplace de gauche a droite...) Est-ce que quelqu'un pourrait m'expliquer a quel moment j'ai merdé ? Merci par avance pour votre aide. Arty
Dernière édition par arty69 le Sam 12 Fév 2011, 20:52, édité 3 fois |
|
| |
chris_c Accro
Nombre de messages : 8403 Age : 53 Date d'inscription : 18/11/2007
| |
| |
arty69 Nouveau (nouvelle)
Nombre de messages : 12 Age : 35 Localisation : Lyon Date d'inscription : 29/01/2011
| Sujet: Re: [résolu] programmation : déplacer un objet Dim 06 Fév 2011, 10:44 | |
| Bonjour, Après ta réponse, je me suis replongé (ce matin seulement) dans ces histoires de groupes et j'ai réussi a obtenir ce que je cherchais (merci d'ailleurs^^). Pour le coup je comprend un peu mieux l'histoire des groupes mais pas encore tout a fait : Il est bien possible de piloter plusieurs objets d'un groupe séparément ? Ou me trompè-je? Car pour créer mon animation, j'ai du créer 2 groupes, l'un qui s'appelle wanwan1, comportant un objet wanwan1 et un second groupe comportant le wanwan2. Du coup j'ai l'architecture suivante dans mon code : _root.wanwan1.wanwan1._x = quelquechose... par exemple pour piloter le wanwan1 suivant l'axe horizontal et _root.wanwan2.wanwan2._x = autrechose... pour le second. Dans mon idée, je croyais possible de créer un seul groupe (wanwans) avec les deux objets a l'interieur que l'on pourrait déplacer séparément : _root.wanwans.wanwan1._x = 5*_root.wanwans.wanwan2 Merci de m'éclairer Arty |
|
| |
chris_c Accro
Nombre de messages : 8403 Age : 53 Date d'inscription : 18/11/2007
| Sujet: Re: [résolu] programmation : déplacer un objet Dim 06 Fév 2011, 10:55 | |
| tu as crée des sous groupes _root.wanwans.wanwan1 et _root.wanwans.wanwan2
le groupe principale est _root.wanwans
tu crées un groupe, tu mets ton objet dedans tu reviens à ecran de base et tu le nomme wanwan1
tu es dans ecran de base, tu crées un 2eme groupe, tu mets ton objet dedans tu vas dans ecran de base et tu le nommes wanwan2
tu as 2 groupes
ca donne _root.wanwan1._x=5*_root.wanwan2
|
|
| |
arty69 Nouveau (nouvelle)
Nombre de messages : 12 Age : 35 Localisation : Lyon Date d'inscription : 29/01/2011
| Sujet: Re: [résolu] programmation : déplacer un objet Dim 06 Fév 2011, 11:22 | |
| Ok oui je comprend bien ce que tu m'explique. Je me suis compliqué la vie en faisant appel a _root.wanwan1.wanwan1._x alors que j'aurais pu faire appel au groupe _root.wanwan1.
Mais ma question tient toujours ^^ :
Admettons que je sois amené a faire un groupe comportant 2 objets :
_root.groupe.objet1 et _root.groupe.objet2
Quand je fait appel a _root.groupe._x je déplace les 2 objets, mais est il possible de déplacer l'objet 1 sans bouger l'objet 2 (en faisant _root.groupe.objet2._x ?) |
|
| |
TORAK Accro
Nombre de messages : 1453 Age : 35 Localisation : Ain Loisirs : prog, soft, hardware, sciences physiques & cosmologie Date d'inscription : 23/12/2008
| Sujet: Re: [résolu] programmation : déplacer un objet Dim 06 Fév 2011, 12:03 | |
| tu comprends vite mais est il possible de déplacer l'objet 1 sans bouger l'objet 2 (en faisant _root.groupe.objet2._x ?)Si les objet 1 et 2 sont de type MovieClip (comme les groupe dans eanim) alors oui, c'est facilement réalisable. Certain objet eanim (les rectangle, cercle....) sont considéré comme des MovieClip, donc tu pourras directement agir dessus sans les mettre dans un groupe. |
|
| |
arty69 Nouveau (nouvelle)
Nombre de messages : 12 Age : 35 Localisation : Lyon Date d'inscription : 29/01/2011
| Sujet: Re: [résolu] programmation : déplacer un objet Dim 06 Fév 2011, 18:53 | |
| Merci c'est ce que je voulais savoir. Il ne me reste plus qu'a me pencher plus consciencieusement sur toutes ces histoires de MovieClip et de groupes. Peut être que tu pourra me répondre a ce sujet (c'est surtout une question de syntaxe) : J'ai lu attentivement cette introduction à la programmation, que j'ai trouvé très bien faite par ailleurs (attention, il faudra un compte pour suivre le lien), et j'ai plusieurs questions sur tout ça : Quel est le nom du langage de programmation utilisé par e-anim ? L'action-script ? Quelle est la différence avec le java-script ? Et le flash ? (désolé si je n'ai pas été loin dans mes recherches, je le répète encore une fois c'est tout nouveau pour moi...) Pour ces histoires de MC (MovieClip), quel est la différence entre un MC et un groupe? Le groupe, c'est le nom e-anim des MC ? Comment savoir si un des mes objets est un MC ou non ? Ou mieux formulé : comment créer un MC ? J'ai déja cherché a piloter des images appartenant à un groupe, mais je n'ai pas réussi... C'est parce que les images ne sont pas des MC ? |
|
| |
TORAK Accro
Nombre de messages : 1453 Age : 35 Localisation : Ain Loisirs : prog, soft, hardware, sciences physiques & cosmologie Date d'inscription : 23/12/2008
| Sujet: Re: [résolu] programmation : déplacer un objet Dim 06 Fév 2011, 20:15 | |
| Joli questionnaire lol Quel est le nom du langage de programmation utilisé par e-anim ? L'action-script ? oui, mais c'est seulement l'action script 2 (AS2) Quelle est la différence avec le java-script ? Et le flash ? L'AS n'a rien a voir avec le javascript - ni Java - même si tout les langage se ressemble le javascript (JS) est directement interprété par le navigateur et est un bon complément au xHtml - se qui donne le DHTML ^^. Le Flash n'est pas un langage mais un format - les fameux fichier .swf Pour ces histoires de MC (MovieClip), quel est la différence entre un MC et un groupe? E-anim appelle ça des groupe car ça parait plus accessible - et moins barbare - que de les appeler MovieClip. Les groupe que tu crée avec e-anim ne sont pas supprimable, a part ça c'est sensiblement la même chose. Le groupe, c'est le nom e-anim des MC ? Yep ! Comment savoir si un des mes objets est un MC ou non ? Il y a la fonction action script typeof() pour ça, tu verra plus tard Ou mieux formulé : comment créer un MC ? Avec la fonction AS pour ça : MovieClip_Parent.createEmptyMovieClip("le_nom", 10); (10 étant la profondeur du clip) J'ai déja cherché a piloter des images appartenant à un groupe, mais je n'ai pas réussi...C'est parce que les images ne sont pas des MC ? Oui, exactement |
|
| |
arty69 Nouveau (nouvelle)
Nombre de messages : 12 Age : 35 Localisation : Lyon Date d'inscription : 29/01/2011
| Sujet: Re: [résolu] programmation : déplacer un objet Lun 07 Fév 2011, 14:32 | |
| Merci torak, tu répond exactement à toute mes questions. J'en aurais surement d'autres mais pour l'instant je vais me pencher sur tout ça et faire des essais . Merci encore. ps: je met le sujet en résolu. |
|
| |
arty69 Nouveau (nouvelle)
Nombre de messages : 12 Age : 35 Localisation : Lyon Date d'inscription : 29/01/2011
| Sujet: Re: [résolu] programmation : déplacer un objet Lun 07 Fév 2011, 22:36 | |
| Bonsoir, J'ai continué mon fichier pour m'essayer a l'animation de movieclip, et voici ce que j'obtiens : Comme vous pouvez le voir, je parviens bien a faire bouger mon personnage et a associer une animation au déplacement mais l'animation des jambes se lance en décalée... Est-ce que quelqu'un aurait une idée de ou cela vient ? Voici mon code si cela peut servir : - Code:
-
class wanwan{
static var soux:Number=1; static var wanx:Number=1; static var vitesse:Number=2;
static function action_0(mc:MovieClip):Void{ /* <id method> <1297089606827/0> ne pas supprimer ni déplacer ce commentaire / don't supress or move this comment.*/ soux=_root._xmouse; wanx=_root.wan._x; if(soux<wanx-110){ _root.wan._x = wanx - vitesse; _root.wan.wanwan1._visible=true; _root.wan.wanwan2._visible=false; _root.wan.wanwan1.gotoAndStop(0); _root.wan.wanwan1.play(); } if(soux>wanx+10){ _root.wan._x = wanx + vitesse; _root.wan.wanwan2._visible=true; _root.wan.wanwan1._visible=false; _root.wan.wanwan2.gotoAndStop(0); _root.wan.wanwan2.play(); } /* ecrire ici / write here */ }
} J'ai un groupe qui contient le texte, l'animation du texte et le fond et un autre qui contient le personnage Le deuxième groupe qui s'appelle "wan" contient des sous-groupes (wanwan1 et wanwan2) animés qui sont le déplacement du personnage sur la gauche et sur la droite (je cache celui qui n'est pas bon). Ces animations commencent au tems zéro, durent 10 frames et sont suivies d'un stop (croix rouge) à la 11 ème frame. Pourtant quand je fait bouger mon personnge a gauche ou a droite, il se déplace mais lance l'animation au bout de 1 seconde. Et encore plus étrange, le temps d'attente est plus court quand il va vers la droite que quand il va vers la gauche.. Comment est-ce possible ? Merci de votre aide et de votre soutien qui m'ont déja permis d'en arriver la ^^. Arty Morty ps: j'enlève le résolu avant qu'on me bloque ce sujet^^ |
|
| |
arty69 Nouveau (nouvelle)
Nombre de messages : 12 Age : 35 Localisation : Lyon Date d'inscription : 29/01/2011
| |
| |
Invité Invité
| |
| |
Contenu sponsorisé
| |
| |
|