oliver7
Messages postés102Date d'inscriptiondimanche 3 octobre 2004StatutMembreDernière intervention 8 septembre 2006
-
24 janv. 2005 à 16:17
John_Doe_88
Messages postés606Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention13 décembre 2006
-
19 févr. 2005 à 18:32
slt
mon prob. j'ai 2 clip : un en arriere plan et l'autre dessus, j'ai fait que quand on clic sur l'arriere plan l'autre clip va la où on a cliquer. Mais je veut que le clip qui doit se deplacer le fasse qu'a une certaine vitesse et pas d'un seul coup.
oliver7
Messages postés102Date d'inscriptiondimanche 3 octobre 2004StatutMembreDernière intervention 8 septembre 2006 19 févr. 2005 à 09:29
g demmander a bombay
il m'a dit autre chose et sa marche :
onClipEvent (mouseDown) {
// mémorisation des coordonées de la souris dans le repere principal ( _root). Ce sont les coordonées du point cible
xmouse =_root._xmouse;
ymouse =_root._ymouse;
}
// evenement onEnterFrame d'un MovieClip : execution en boucle autant de fois par secondes que le FPS de l'anim
onClipEvent (enterFrame) {
// on ajoute 1/5 du chemin qui reste a parcourir en _x et _y entre la position du clip et le point cible
_x+=( xmouse - _x)/5;
_y+=( ymouse - _y)/5;
}
John_Doe_88
Messages postés606Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention13 décembre 2006 24 janv. 2005 à 23:12
Ca te permet d'appeler une fonction a intervalle
regulier, donc l'idée c que tu appelle une fonction toutes les 20
millisecondes par exemple (cette fonction deplacant le clip d'une
petite distance). Allez je suis gentil j te fais le code :
onClipEvent (mouseDown) {
xsouris = _xmouse; //on memorise les positions de la souris
ysouris = _ymouse;
D = setInterval("deplacement", 20); //appelele la fonction totues les 20 millisecondes
function deplacement() {
if ( _root.head._x xsouris) && ( _root.head._y ysouris) { //si on atteint la position d'aiirivée
clearInterval(D); //on arrete le deplacement, vérifie dans l'aide
parce que je suis pas sur de la syntaxe
else {
//ben la deplacement, du style
if (
_root.head._x > xsouris) {
_root.head._x -(xsouris-_root.head._x) /100; // avec 100 20*5
donc 5 secondes pour deplacer le clip
}
if (
_root.head._x < xsouris) {
_root.head._x +=
(xsouris-_root.head._x)
/100;
}
//et la meme chose pour y, je te laisse faire
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
John_Doe_88
Messages postés606Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention13 décembre 2006 19 févr. 2005 à 18:32
Ben oui il y a souvent plusieurs solutions pour faire un truc. Ceci dit
ma solution est meilleure parce que un onEnterFrame c appelé tout le
temps (dans ton cas une fois que ton clip est à la bonne place il bouge
plus, mais le onEnterFrame est toujours appelé) alors que setInterval
n'est appelé que le nombre de fois voulu. De manière générale j'essaie
d'éviter d'utiliser des enterFrame parce que c souvent très lourd.
Par contre tu pourrais peut etre utiliser delete pour optimiser...