begin process at 2012 05 27 15:26:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Orientation d'un clip vers la sourris as3


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Orientation d'un clip vers la sourris as3

dimanche 23 octobre 2011 à 16:49:15 | Orientation d'un clip vers la sourris as3

aerial9

Bonjour à tous, je demande de l'aide pour un problème auquel, suite à de longues recherches, je ne trouve pas de réponses. Comment orienter un clip vers la position de la souris, et de préférence en utilisant un code comme celui-ci :

http://www.flashkod.com/telecharger.aspx?ID=22996

Le principe de ce code est qu'il est déposé dans le clip voulu, et qu'il n'est pas dans la scène principale. Ainsi, une fois le code réalisé, on a plus qu'à copier le clip et toutes les copies ont le même effet. Ce code (ci-dessus le fichier zip, et en dessous code lui-même) est géniale, mais il est en as2 et j'utilise l'as3. Connaitriez vous l'équivalent d'un code comme celui-ci en as3 ?

this.onEnterFrame = function() {
x = _root._xmouse-this._x;
y = _root._ymouse-this._y;
this._rotation = Math.atan2(y, x)*57; // car 180/Math.PI = environ 57
};

Merci
dimanche 23 octobre 2011 à 17:36:45 | Re : Orientation d'un clip vers la sourris as3

pegase31

Membre Club Administrateur CodeS-SourceS
Bonjour,

Il faut savoir qu'en AS3 on ne peut plus mettre de code sur les éléments de scène.. et c'est trés bien comme ça.
Ensuite, je te donne 2 éléments d'information utiles, sachant que le calcul est exactement le même qu'en AS2 (sauf x et y qu'il faudra changer) :

- Il faut utiliser un evennement de type MouseEvent.MOUSE_MOVE à la place d'un Event.ENTER_FRAME pour une question de CPU.
- les propriétés as3 n'ont plus aucun "_" (d'où la remarque précédente)

Penses-tu arriver à t'en tirer avec ça ?

Peg'
lundi 24 octobre 2011 à 16:46:46 | Re : Orientation d'un clip vers la sourris as3

aerial9

J'ai déjà incorporé le mouseX/mouseY via le MouseEvent.MOUSE_MOVE pour faire se déplacer un clip vers la position de la souris. Mon vrai problème est de transposer ça à la rotation. Comme tu l'aura sans doute compris, c'est pour faire un jeu flash (de plateforme). Le tir qui va du personnage à l'endroit pointé par la souris, ça va. Mais l'orientation du canon vers la souris demande à ce que j'ai compris des calculs de trigonométrie qui demande des formules as3 que je ne connais pas.
Cependant j'ai trouvé peut-être un bout de solution.
Utiliser la tweenmax bezier avec orienttobezier=true, dans un laps de temps court, dont la direction est un mouseX mouseY. Ca fait l'orientation du canon, mais je n'arrive pas à lui dire de ne pas se déplacer jusqu'à la souris.
Dans le cas du tir :

TweenMax.to(axedetir, 0.5, {bezierThrough:[{x:mouseX+unevariablex, y:mouseY+unevariabley}], orientToBezier:true, onComplete:retourcanon});

unevariablex et unevariabley seraient l'écart entre le personnage et la souris
mais c'est pas fonctionnel. Aurais-tu une idée Peg' ?
lundi 24 octobre 2011 à 18:59:44 | Re : Orientation d'un clip vers la sourris as3

pegase31

Membre Club Administrateur CodeS-SourceS
La trigo de base est simple, c'est du Pythagore dans un triangle rectangle. (niveau 3ème, je crois)

Tu cherches l'angle du coin opposé en connaissant la distance X et Y des bords de ton angle droit :




L'angle de A = atan2(BC/AB), ce qui te donnera l'angle en radian (d'où la conversion 180/PI).
Et c'est exactement la formule que tu nous as donné dans ta question ...

Peg'
lundi 24 octobre 2011 à 19:17:37 | Re : Orientation d'un clip vers la sourris as3

aerial9

Mais la formule flash qui défini ce calcul pas en as2 comme je l'ai formulé dans ma question, mais en as3 comme je le demande dans ma question. Est-ce que tu la connais , s'il te plaît?
lundi 24 octobre 2011 à 19:49:49 | Re : Orientation d'un clip vers la sourris as3

pegase31

Membre Club Administrateur CodeS-SourceS
C'est le même ...

sachant que le calcul est exactement le même qu'en AS2 (sauf x et y qu'il faudra changer)



Peg'
lundi 24 octobre 2011 à 22:37:23 | Re : Orientation d'un clip vers la sourris as3

aerial9

J'ai pas compris mais c'est pas grave. Je te remercie quand-même de ton aide.
a+ peg
lundi 24 octobre 2011 à 22:43:51 | Re : Orientation d'un clip vers la sourris as3

pegase31

Membre Club Administrateur CodeS-SourceS
Ben le calcul est le même :
Code ActionScript :
//AS2
X = _xmouse-this._x;
Y = _ymouse-this._y;
this._rotation = Math.atan2(Y, X)*57; // car 180/Math.PI = environ 57 


Code ActionScript :
//AS3
X = mouseX-this.x;
Y = mouseY-this.y;
this.rotation = Math.atan2(Y, X)*57; // car 180/Math.PI = environ 57 


Il n'y a pas grand choses à comprendre ...

Peg'
lundi 24 octobre 2011 à 23:19:53 | Re : Orientation d'un clip vers la sourris as3

aerial9

stage.addEventListener(MouseEvent.MOUSE_MOVE,funccanon);

function funccanon(me:MouseEvent):void{
X = mouseX-this.x;
Y = mouseY-this.y;
this.rotation = Math.atan2(Y, X)*57;
}

Sauf qu'il faut remplacer le this par le non du clip car ce code ne doit pas être contenu dans le clip qui tourne mais dans la scène. si c'est ça, il me répond :
Il me dit en code d'erreur :
1120 : Accès à la propriété non définie X.
1120 : Accès à la propriété non définie Y.

une idée de où ça vient peg ?

lundi 24 octobre 2011 à 23:23:31 | Re : Orientation d'un clip vers la sourris as3

aerial9

dsl j'ai supprimé une partie de mon post :

Si j'ai bien compris c'est censé donner ça en as3 :

//appel de fonction par écouteur d'évênement en mousemove dont tu m'as parlé qui //remplace l'enterframe
stage.addEventListener(MouseEvent.MOUSE_MOVE,funccanon);

// le code d'as3 que tu m'as donné précedement
function funccanon(me:MouseEvent):void{
X = mouseX-this.x;
Y = mouseY-this.y;
this.rotation = Math.atan2(Y, X)*57;
}

Sauf qu'il faut remplacer le this par le non du clip car ce code ne doit pas être contenu dans le clip qui tourne mais dans la scène. si c'est ça, il me répond :
Il me dit en code d'erreur :
1120 : Accès à la propriété non définie X.
1120 : Accès à la propriété non définie Y.

une idée de où ça vient peg ?

1 2

Cette discussion est classée dans : code, clip, orientation, as3, sourris


Répondre à ce message

Sujets en rapport avec ce message

Evènement click sur une occurrence clip AS3 [ par AOE_angelofdarkness ] Bonjour tout le monde, Je me mets petit à petit à l'AS3 et forcement je rencontre quelques difficultés. Je voudrais savoir s'il est possible de créer [AS3] Création dynamique de boutons et de leur écouteur respectif [ par vedelvetsyn ] Encore un problème... j'entendais souvent que l'AS3 c'était super fastidieux, mais j'imaginais pas autant [^^happy17] Mais c'est sympa de se prendre l visibilité [ par remitete ] bonjour j'ai un petit probleme concernant la visibilité [URL=http://img709.imageshack.us/i/sanstitredat.png/][IMG]http://img709.imageshack.us/img709/ Bouton qui ne réagis pas maglré code AS3 [ par ayouns ] Salut, Voila j'ai fait un bouton en clip le tout en AS3 quand je code pas les "function" je vois très bien mon animation voulu comme bouton. Mais de pb as3 duplication de clip [ par inaden ] Bonjour,voilà, j'essaie de passer à l'as3 mais... bref.Voici le problème : je duplique une instance de clip de la bibliothèque à l'aide du code suivan Probleme Perspective 3D d'un clip [ par maripaun2003 ] Bonsoir, J'ai effectué une déformation en perspective de mon clip avec flash CS4 en utilisant ce code: clip.rotationY=-13; clip.rotationX=-6; clip.r [AS3] écouteur clavier ne fonctionnepas [ par carton99 ] Bonjour, je débute en AS3. dans le code suivant ,je ne comprend pas pourquoi l'écouteur clavier ne marche pas alors que l'écouteur enterframe fonctio AS3: Manipuler un clip de la racine depuis une autre classe [ par Feizenbara ] Bonsoir, Après avoir bidouillé un peu avec Flash MX2004 en AS2, je viens de passer à CS4 avec AS3... et j'ai vraiment du mal à faire propre. Mon sou AS3 fonctions simples [ par godak ] Bonjour a tous, J'ai une approche et une utilisation de flash plutot graphiste, mon utilisation de flash ne necessite que le minimum des capacités du équivalent de ce code AS2 en AS3 : this["nom"+i] [ par piere2 ] Bonjour, Je débute en AS3 et j'essaye d'avancer avec mes acquis AS2; je rame pas mal.... J'utilisais souvent ce code pour définir des action ou des va


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales