Faire bouger un objet vers un clic

jpeuh Messages postés 8 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 7 juin 2011 - 4 nov. 2009 à 12:00
jpeuh Messages postés 8 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 7 juin 2011 - 9 nov. 2009 à 14:50
bonjour je début en AS3 et me demande comment faire bouger un movieclip vers une zone précise (le clic de la souris)

par exemple si mon movieclip est une souris que je place dans le coin supperieur gauche de ma scène est t'il possible de le faire venir vers l'endroit sur lequel je viens de faire un clic gauche

ensuite j'aimerai savoir si il est possible de déposer des objets sur la scène (cube de fromage) et ensuite de cliquer sur un bouton start pour que la souris suive les bout de fromages pour s'arreter dans le coin inferrieur droit ou il y a une roue de fromage (qu'elle suive le parcour donné lors du dépot des bout de fromage avant de regoindre la roue au quel cas elle irait directement vers la roue en question par le chemin le plus court)

le but étant par après créer un petit jeux flash a plusieurs niveaux

merci de bien vouloir m'aider

je suppose qu'il faut que je met un event click sur le stage ou sur un container
et que lors du clic je regarde les coordonnées de la souris
ensuite je dois réaliser un tween de la position courante à la position de la souris

mais je ne sais pas comment démarrer mon code ni comment le finir en faite ;(

je suppose qu'il y a aussi de l'import.fl la dessous mais comme je ne comprend rien a l'as3 pour l'instant
j'aimerai avoir le code pour pouvoir le comprendre parceque moi quand je clic il disparait au lieu de venir vers le clic
et pour l'autre il démarre l'animation du movieclip mais reste sur place


merci d'avance pour votre aide

6 réponses

Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
4 nov. 2009 à 14:15
Hello,

Si tu ne comprends rien a l'AS3 pour le moment, créer un jeu est difficile !



-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
0
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
4 nov. 2009 à 14:20
Tout ton raisonement est correct, maintenant il reste a faire des recherches.
Quelques pistes :

- Tween
- MouseEvent
- mouseX
- mouseY
- x, y
- rotation
- Event

A+

-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
0
jpeuh Messages postés 8 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 7 juin 2011
4 nov. 2009 à 19:23
j'essaye et je poste mon code voir si c'est possible de le simplifier
0
jpeuh Messages postés 8 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 7 juin 2011
6 nov. 2009 à 09:47
bon voiila nostalegie oblige j'ai utilié un pacman est ce que ca va ou est-til possible de faire plus symple


import fl.transitions.Tween;
import fl.transitions.easing.*;
pacman.stop();
pacman.x=pacman.width/2;
pacman.y=pacman.height/2;
function createSprite(ix:int, iy:int):Sprite{

var tempSprite:Sprite=new Sprite();
var tempWidth:int=pacman.width;
var tempX:int=tempWidth * ix;
var tempHeight:int=pacman.height;
var tempY:int=tempHeight * iy;
tempSprite.graphics.beginFill(000000,0);

tempSprite.graphics.drawRect(tempX,tempY,tempWidth,tempHeight);

tempSprite.graphics.endFill();

tempSprite.addEventListener(MouseEvent.CLICK,clickSprite);


function clickSprite(e:MouseEvent):void{

pacman.play();
var finX:int=tempX +(pacman.width /2);

var finY:int=tempY +(pacman.height /2);

var temps:int=10;

if(pacman.x <finX){
}

else if(pacman.x > finX){
}

new Tween(pacman, "x", None.easeNone,pacman.x,finX,temps,false);
new Tween(pacman, "y", None.easeNone,pacman.y,finY,temps,false);


}
return tempSprite; //je retourne la valeur

}

var lng:int= (300/pacman.width)-1;

for(var iy:int=0;iy<=lng;iy++){

for(var ix:int=0;ix<=lng;ix++){

var temp:Sprite=createSprite(ix , iy);

addChild(temp);
}
}

}
afficheSprite()

pour ce qui est de mettre des objet sur la scene et de faire suivre l'objet je fait comment
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jpeuh Messages postés 8 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 7 juin 2011
7 nov. 2009 à 11:44
pour le 2ème niveau je voix pas trop ( un go to ) c'est de l'as2

il y est encore en as3

je suppose que c'est quelque chose comme ca

une go to vers un point ( il part du haut a gauche vers le bas a droite) lorsque j'apuie sur play

et un variable if (je dépose les objets sur la scène ) pour qu'il suive le chemin fait par les objets

biensur si le go to est encore en AS3

mais je suis pas sur que mon raisonement soit bon
0
jpeuh Messages postés 8 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 7 juin 2011
9 nov. 2009 à 14:50
symplifier j'obtiens ça

import fl.transitions.Tween;
import fl.transitions.easing.*;
var speed: int = 3
stage.addEventListener(MouseEvent.MOUSE_DOWN,_mous ehandler);
function _mousehandler(maVariable : MouseEvent) :void
{
var tweenX:Tween=new Tween(pacou,"x",Elastic.easeIn,pacou.x,maVariable. stageX,speed,true);
var tweenY:Tween=new Tween(pacou,"y",Elastic.easeIn,pacou.y,maVariable. stageY,speed,true);
}
0
Rejoignez-nous