Deplacement d'un clip pour en activer un autre

zak2mars Messages postés 5 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 6 avril 2009 - 22 sept. 2008 à 15:06
zak2mars Messages postés 5 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 6 avril 2009 - 23 sept. 2008 à 14:58
Bonjour.

Je suis débutant en Flash (donc en as3), ce qui ne m'empêche pas de faire un site simple tout en flash.
J'ai actuellement un petit souci.
En fait je souhaite déplacer des clips vers des cases, et j'aimerais en fait avoir un nouveau clip qui apparaisse lorsque les clips sont bien placés dans les cases.
Pour cela j'ai pensé à utiliser un IF mais cela ne fonctionne pas, donc si vous avez une idée pour que cela marche, je suis preneur.
Merci par avance voici mon code as3 :

//deplacement des images//
carre1.addEventListener(MouseEvent.MOUSE_DOWN,deplacercarre);
carre2.addEventListener(MouseEvent.MOUSE_DOWN,deplacercarre);
carre3.addEventListener(MouseEvent.MOUSE_DOWN,deplacercarre);
carre4.addEventListener(MouseEvent.MOUSE_DOWN,deplacercarre);
function deplacercarre(evt:MouseEvent){
    evt.currentTarget.startDrag(false);
    evt.currentTarget.addEventListener(MouseEvent.MOUSE_UP,relachercarre);
}
function relachercarre(evt:MouseEvent){
    evt.currentTarget.stopDrag();
}

//bouton sortie//
btn_sortie.addEventListener(MouseEvent.CLICK, charger_swf_sortie);
function charger_swf_sortie(event:MouseEvent):void {
    var request_exit:URLRequest = new URLRequest("page_index.swf");
    var loader_exit:Loader = new Loader();
    addChild(loader_exit);
    loader_exit.load(request_exit);
}

clip_ok.visible=false;

if(carre4.x>=90 && carre4.x<=130 && carre4.y>=350 && carre4.y<=375 && carre3.x>=90 && carre3.x<=130 && carre3.y>=490 && carre3.y<=515 && carre2.x>=255 && carre2.x<=285 && carre2.y>=630 && carre2.y<=655 && carre1.x>=895 && carre1.x<=930 && carre1.y>=490 && carre1.y<=515) {
    clip_ok.visible=true;
}

2 réponses

cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
23 sept. 2008 à 09:21
Bonjour,

place ton IF dans ta fonction relachercarre pour que le test s'effectue a chaque fois qu'un carré est déplacé.

function relachercarre(evt:MouseEvent){
    evt.currentTarget.stopDrag();
     if(carre4.x>=90 && carre4.x<=130 &&
carre4.y>=350 && carre4.y<=375 && carre3.x>=90
&& carre3.x<=130 && carre3.y>=490 &&
carre3.y<=515 && carre2.x>=255  &&
carre2.x<=285 && carre2.y>=630 &&
carre2.y<=655 && carre1.x>=895 &&
carre1.x<=930 && carre1.y>=490 &&
carre1.y<=515) {
    clip_ok.visible=true;
  }
}

@+
0
zak2mars Messages postés 5 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 6 avril 2009
23 sept. 2008 à 14:58
Merci bien Girou, je n'avais pas pensé à le faire comme ça.
Cela marche nickel.
0
Rejoignez-nous