compteur
 
AccueilPortailFAQS'enregistrerConnexion

Partagez | 
 

 [résolu] programmation : déplacer un objet

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
arty69
Nouveau (nouvelle)
Nouveau (nouvelle)


Nombre de messages : 12
Age : 28
Localisation : Lyon
Date d'inscription : 29/01/2011

Message 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
Revenir en haut Aller en bas
chris_c
Accro
Accro


Nombre de messages : 8400
Age : 46
Date d'inscription : 18/11/2007

Message Sujet: Re: [résolu] programmation : déplacer un objet    Sam 05 Fév 2011, 18:46

il faut mettre tes objets dans un groupe et dans ecran base donner un nom

par ex wanwan1

le texte reste dans ecran de base et sans nom
Revenir en haut Aller en bas
arty69
Nouveau (nouvelle)
Nouveau (nouvelle)


Nombre de messages : 12
Age : 28
Localisation : Lyon
Date d'inscription : 29/01/2011

Message 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 Wink

Arty
Revenir en haut Aller en bas
chris_c
Accro
Accro


Nombre de messages : 8400
Age : 46
Date d'inscription : 18/11/2007

Message 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

Revenir en haut Aller en bas
arty69
Nouveau (nouvelle)
Nouveau (nouvelle)


Nombre de messages : 12
Age : 28
Localisation : Lyon
Date d'inscription : 29/01/2011

Message 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 ?)
Revenir en haut Aller en bas
TORAK
Accro
Accro


Nombre de messages : 1452
Age : 27
Localisation : Ain
Loisirs : prog, soft, hardware, sciences physiques & cosmologie
Date d'inscription : 23/12/2008

Message Sujet: Re: [résolu] programmation : déplacer un objet    Dim 06 Fév 2011, 12:03

tu comprends vite Very Happy

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.
Revenir en haut Aller en bas
http://torak01.fr/
arty69
Nouveau (nouvelle)
Nouveau (nouvelle)


Nombre de messages : 12
Age : 28
Localisation : Lyon
Date d'inscription : 29/01/2011

Message Sujet: Re: [résolu] programmation : déplacer un objet    Dim 06 Fév 2011, 18:53

Merci c'est ce que je voulais savoir. Very Happy

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 ?
Revenir en haut Aller en bas
TORAK
Accro
Accro


Nombre de messages : 1452
Age : 27
Localisation : Ain
Loisirs : prog, soft, hardware, sciences physiques & cosmologie
Date d'inscription : 23/12/2008

Message 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 Wink 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 Very Happy
Revenir en haut Aller en bas
http://torak01.fr/
arty69
Nouveau (nouvelle)
Nouveau (nouvelle)


Nombre de messages : 12
Age : 28
Localisation : Lyon
Date d'inscription : 29/01/2011

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

Merci encore.


ps: je met le sujet en résolu.
Revenir en haut Aller en bas
arty69
Nouveau (nouvelle)
Nouveau (nouvelle)


Nombre de messages : 12
Age : 28
Localisation : Lyon
Date d'inscription : 29/01/2011

Message 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^^
Revenir en haut Aller en bas
arty69
Nouveau (nouvelle)
Nouveau (nouvelle)


Nombre de messages : 12
Age : 28
Localisation : Lyon
Date d'inscription : 29/01/2011

Message Sujet: Re: [résolu] programmation : déplacer un objet    Sam 12 Fév 2011, 20:52

Finalement j'ai réussi en recommancant...

Je ne suis toujours pas sur de pourquoi ça bugait..



Je remet en résolu.
Revenir en haut Aller en bas
Invité
Invité



Message Sujet: Re: [résolu] programmation : déplacer un objet    Sam 12 Fév 2011, 21:15

cheers
Revenir en haut Aller en bas
Contenu sponsorisé




Message Sujet: Re: [résolu] programmation : déplacer un objet    Aujourd'hui à 22:48

Revenir en haut Aller en bas
 
[résolu] programmation : déplacer un objet
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [résolu]Programmation - rotationde texte
» déplacer un objet vers un autre (ou un point)
» [Résolu]Programmation GML
» [Résolu] programmation
» Déplacer un perso vers un objet par un click de souris

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
E-anim :: Utiliser E-anim :: Comment faire :: Sujets résolus ou sans suite-
Sauter vers: