Accueil > Forum > > > > question sur angle de sourie, rotation de clip....
question sur angle de sourie, rotation de clip....
mardi 11 janvier 2005 à 17:03:14 |
question sur angle de sourie, rotation de clip....

flow38
|
Salut alors, voila pour un site j'ai fait une interface ou face a un coffre fort l'internaute devra faire tourner les bagues afin d'obtenir le bon code permettant le coffre en question. Pour l'instant j'en suis simplement à l'etape faire tourner les bague avec la sourie:
sur la premiere frame de mon animation: //une fonction qui aligne l'angle de mon clip (nommé cible) sur celui de ma sourie
rotation = function (x,y) { x= _xmouse-cible._x; y= _ymouse-cible._y; D = Math.sqrt((x*x)+(y*y)); AngleRad = Math.acos(x/D); _root.cible._rotation = 180 * AngleRad / Math.PI * y/Math.abs(y); }//pas de probleme ça marche
//et la je voulais faire en sorte que lorsqu'on clic sur le clip cible ça lance la fonction rotation en boucle, d'ou l'utilisation du _root.onEnterFrame sauf ça ne marche qu'une fois et puis plus rien
_root.cible.onPress = function () { _root.onEnterFrame = rotation(_root.cible._x,_root.cible._y) }
Donc voila je voudrais savoir comment faire pour que: on press, la fonction rotation s'execute en boucle tant que le ne lache pas le bouton
voila d'autre probleme vont survenir mais deja ça , ça m'aiderai bien! @++
|
|
mardi 11 janvier 2005 à 17:52:12 |
Re : question sur angle de sourie, rotation de clip....

SuperDevy
|
Petite amélioration et optimisation de ta fonction rotation :
function rotation ()
{
cible._rotation = Math.atan2(cible._ymouse,cible._xmouse)*180/Math.PI;
}
Pour faire débuter l'action en cas de clique sur le bouton :
cible.onMouseMove = undefined;
cible.onPress = function ()
{
this.onMouseMove = rotation;
}
A toi de parfaire ! www.SuperDevy.c.la !
|
|
mercredi 12 janvier 2005 à 15:30:41 |
Re : question sur angle de sourie, rotation de clip....

flow38
|
Salut SuperDevy, merci pour ton aide mais j'aurais encore 2 questions: _ Dans le code suivant :
cible.onMouseMove = undefined; cible.onPress = function () { this.onMouseMove = rotation} A quoi sert la ligne cible.onMouseMove = undefined; ?
_ L'effet obtenu n'est pas en faite celui attendu, car la function "aligne" l'angle de cible sur celui de la sourie. Or il faudrait en fait que la function modifie l'angle du clip mais en fonction des variation d'angle de la sourie....ce qui est donc plus complexe....cette nouvelle difficulté me ramènne à une question qui m'intrigue depuis longtemps :
comment fait on en action script pour comparer les valeurs d'une variable qui évolue dans le temps (dans mon cas de coffre fort, il faudrait recuperer l'angle de la sourie à l'instant t et a l'instant t+1 pour obtenir la variation d'angle et la reporter sur l'angle de cible....je ne dit pas trop de betise!? :) ) Enfin en faite j'ai conscience que ça doit etre assez compliqué a expliquer mais si tu pouvez simplement m'indiquer un tuto, un fla ou un lien abordant ce genre de problématique ce serai deja trés cool...
voila ++
|
|
mercredi 12 janvier 2005 à 17:44:31 |
Re : question sur angle de sourie, rotation de clip....

flow38
|
Re, oui j'ai eu l'idée de tester avec la fonction setInterval , mon code est bien crade mais ça commence a faire comme decris plus haut.....: oui j'ai pa s encore integre ton optimisation de code et j'ai pas mal touche au mien j'ai un peu peur de tout faire foirée....
Angleinit = function (x,y) { x= _xmouse-cible._x; y= _ymouse-cible._y; D = Math.sqrt((x*x)+(y*y)); AngleRad = Math.acos(x/D); _root.cible.Angle0 = 180 * AngleRad / Math.PI * y/Math.abs(y); } ModifAngle = function () { x= _xmouse-cible._x; y= _ymouse-cible._y; D = Math.sqrt((x*x)+(y*y)); AngleRad = Math.acos(x/D); _root.cible.Angle2 = 180 * AngleRad / Math.PI * y/Math.abs(y); _root.cible.modif = _root.cible.Angle0 -_root.cible.Angle2 ; _root.cible._rotation = Math.round(_root.cible._rotation + _root.cible.modif) ; }
cible.onMouseMove = undefined; cible.onPress = function () { setInterval(Angleinit,20); setInterval(ModifAngle,30);
}
suis je sur la bonne voie ou y'a t il plus simple? Reste le ^probleme que quand je relache le bouton de la sourie, la bague continue a "suivre" ma sourie....
|
|
mercredi 12 janvier 2005 à 23:05:55 |
Re : question sur angle de sourie, rotation de clip....

flow38
|
Bon alors j'ai potassé et j'ai decide dele faire plus dans les regles de l'art ...ça donne ça: Dans la 1er image de mon anim(_root): -------------------- cible.onMouseMove = undefined; cible.onPress = function () { this.cible.rotat() ; }
cible.onRelease = function () { this.onMouseMove = 0 ; //oui alors la ç'est carrement au pif mais j'en suis pas encore a faire marcher cette etape!! mdr } stop();
Sur la 1er image de mon clip dont l'occurence est cible:(j'ai des doute sur les chemin pour el clip cible...? cible est sur la scene de l'anim) ----------------------------------------------------------------------------- //Angle initial de la sourie Angleinit = function () { this.cible.Angle0 = Math.atan2(this.cible._ymouse,this.cible._xmouse)*180/Math.PI;
}
//Fonction calculant une variation d'angle de la sourie et modifiant en csq celle de cible ModifAngle = function () { this.cible.Angle2 = Math.atan2(this.cible._ymouse,this.cible._xmouse)*180/Math.PI; this.cible.modif = -(this.cible.Angle0 -this.cible.Angle2)*1.5 ; this.cible._rotation = Math.round(this.cible._rotation + this.cible.modif) ; updateAfterEvent(); }
MovieClip.prototype.rotat = function(){ this.onEnterFrame = function(){ setInterval(Angleinit,47); setInterval(ModifAngle,50); updateAfterEvent(); } }
Bon alors c'est beaucoup plus structuré mais ça amrche pas ...ou est le probleme!?
|
|
mercredi 12 janvier 2005 à 23:35:24 |
Re : question sur angle de sourie, rotation de clip....

flow38
|
Alors la ça marche mais pas moyen d'arreter le truc: le cible.onRelease ne marche pas et l'anim est un peu brusque...
//tout sur la premiere image de mon anim:
//Angle initial de la sourie Angleinit = function () { _root.cible.Angle0 = Math.atan2(_root.cible._ymouse,_root.cible._xmouse)*180/Math.PI;
}
//Fonction calculant une variation d'angle de la sourie et modifiant en csq celle de cible ModifAngle = function () { _root.cible.Angle2 = Math.atan2(_root.cible._ymouse,_root.cible._xmouse)*180/Math.PI; _root.cible.modif = -(_root.cible.Angle0 - _root.cible.Angle2)*1.5 ; _root.cible._rotation = Math.round(_root.cible._rotation + _root.cible.modif) ; updateAfterEvent(); }
MovieClip.prototype.rotat = function(){ this.onEnterFrame = function(){ setInterval(Angleinit,47); setInterval(ModifAngle,50); updateAfterEvent(); } }
cible.onMouseMove = undefined; cible.onPress = function () { this.rotat() ; }
cible.onRelease = function () { this.onMouseMove = 0 ; //oui alors la ç'est carrement au pif mais j'en suis pas encore a faire marcher cette etape!! mdr } stop();
|
|
jeudi 13 janvier 2005 à 15:35:33 |
Re : question sur angle de sourie, rotation de clip....

flow38
|
Voici mon code retravaillé et commenté, l'effet obtenu est plutot bien mais comme avant l'effet ne s'arrete pas lorsqu'on relache le bouton de la sourie:
//Fonction de calcul de l'angle initial de la sourie Angleinit = function (nomocc) { nomocc.Angle0 = Math.atan2(nomocc._ymouse,nomocc._xmouse)*180/Math.PI; } //Fonction calculant la variation d'angle de la sourie et modifiant en csq celle de cible ModifAngle = function (nomocc) { nomocc.Angle2 = Math.atan2(nomocc._ymouse,nomocc._xmouse)*180/Math.PI; nomocc.modif = -(nomocc.Angle0 - nomocc.Angle2)*1.5 ; if(Math.abs(nomocc.modif)<1)_root.cible.modif=0;//permet d'eviter le "tremblement" de la cible nomocc._rotation = Math.round(nomocc._rotation + nomocc.modif) ; updateAfterEvent(); } //Fonction permettant de modifier rotation de la cible de façon reguliere MovieClip.prototype.rotat = function() { this.onEnterFrame = function() { modif = setInterval(ModifAngle,20,this); updateAfterEvent(); } } cible.onMouseMove = undefined;
//cible est le clip a faire tourner...
cible.onPress = function () { Angleinit(this); this.rotat(); }
cible.onRelease = function() { delete this.onEnterFrame ; }//c'est donc cette commande qui ne marche pas...?
stop();
|
|
jeudi 13 janvier 2005 à 17:54:27 |
Re : question sur angle de sourie, rotation de clip....
|
jeudi 13 janvier 2005 à 19:34:21 |
Re : question sur angle de sourie, rotation de clip....

flow38
|
Merci de l'aide, mais ça marche pas!! je vais peter un cable....sinon tu entend quoi par "parfaire" et a quoi sert la ligne: cible.onMouseMove = undefined; ++
|
|
vendredi 14 janvier 2005 à 12:49:09 |
Re : question sur angle de sourie, rotation de clip....

flow38
|
ayez j'ai trouve, c'etait ma methode rotat qui bloqué, en la simplifiant tout marche nickel!!!!!!!!:
//Angle initial de la sourie Angleinit = function (nomocc) { nomocc.Angle0 = Math.atan2(nomocc._ymouse,nomocc._xmouse)*180/Math.PI; } //Fonction calculant une variation d'angle de la sourie et modifiant en csq celle de cible ModifAngle = function (nomocc) { nomocc.Angle2 = Math.atan2(nomocc._ymouse,nomocc._xmouse)*180/Math.PI; nomocc.modif = -(nomocc.Angle0 - nomocc.Angle2)*1.5 ; if(Math.abs(nomocc.modif)<1)_root.cible.modif=0;//permet d'eviter le tremblement de la bague nomocc._rotation = Math.round(nomocc._rotation + nomocc.modif) ; updateAfterEvent(); } MovieClip.prototype.rotat = function() { this.onEnterFrame = function() { //simplifiaction avant : modif = setInterval(ModifAngle,20,this) ModifAngle(this); } } cible.onMouseMove = undefined;
cible.onPress = function () { Angleinit(this); this.rotat(); }
cible.onRelease = cible.onReleaseOutside = function() { this.onEnterFrame = undefined;
} stop();
|
|
Cette discussion est classée dans : clip, math, root, cible, rotation
Répondre à ce message
Sujets en rapport avec ce message
problème de reaction des voitures lors d'une collision [ par pimfanfan ]
j'ai un petit problème pour mon jeu de voiture pas comme les autres lol:lors des collisions entre les deux voitures ,je n'arrive a programmer leur rea
hitTest et clip animé [ par claviskass ]
Salut.Ici mon code, un « hitTest » tout simple, mais voilà dés que je touche "place" mon clip "cible" ne joue pas sa série de frames en utilisant le "
problème this et root [ par mailys6 ]
J'ai un petit souci dans la fonction suivante : this['Lb'+i].onRelease= function() { this.stopDrag(); cible = this._dro
Effacer un clip dans un preload... [ par Thatagata ]
Bonjour, comme je suis débutant, j'ai récupéré un script pour faire un preload contenant une animation. Le clip a été crée avec createEmptyMovieClip e
problème au survol d'un clip dans une zone cible [ par ouiart ]
J’ai une bande composée de plusieurs images qui sont des clips, l’ensemble des images est un clip, et le tout fonctionne parfaitement “tel quel” mais
Lire une animation a l'envers...pas un clip!!! [ par timore ]
RZAREKBOnsoir, je voulais savoir si il existe le moyen de rembobiner une animation.J'ai trouver ceci:Rewind = function(cible) { cible.prevFrame();
Comment changer les paramètres de ce menu [ par mysstick ]
Alors, voici mon pb :http://www.flashkod.com/codes/MENU-CARROUSSEL-3D_46489.aspxC'est le fichier que j'utilise pour faire un menu, la source est terri
Ouvrir une page lors d'un clic [ par giulyman ]
Bonjour à tous, votre aide me pourra être précieuse j'espère que vous pourrait m'aider.Voila les faits.J'ai crée un menu tournant. Il y a 4 brèves qui
Rotation d'un clip lors d'un on(mouseOut) [ par Papillonvole ]
Je coince sur un truc qui doit être trop simple.Je veux créer un effet de rotation verticale sur un clip se déclenchant lorsque la souris quitte le cl
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|