Comment arreter un drag

zorax69 Messages postés 9 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 29 juin 2005 - 29 juin 2005 à 10:21
zorax69 Messages postés 9 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 29 juin 2005 - 29 juin 2005 à 14:27
Comment arreter un drag

Salut,

Je fais un casse-tête avec des pieces qu'il faut bouger dans un rectangle precis sur un seul axe.

Quand une piece en mouvement rencontre une autre pièce, elle doit etre arrêtée.

C'est là que je bloque voici mon script :



on(press) {

this.startDrag(false,388,this._y,511,this._y);

}



on(release) {

this.stopDrag();

}



onClipEvent (enterFrame) {



if (this.hitTest(_parent.piece4)) {this._x _x; this._y _y}}



Mais ça ne fonctionne pas.

Merci de votre aide.







zorax

7 réponses

Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
29 juin 2005 à 10:46
Il est possible que lorsque tu ne clique plus ta souris ne soit plus sur le bouton et donc le on(release) n'est pas activer.
Il faut donc que tu utilise onReleaseOutside
En bref c'est pour quand on relache la souris mais en dehor du clip/bouton.
Je pense que sa poura t'aider.

ps : n'ésite pas a sauter des lignes dans ton code, tu y gagnera en visibilité.

Blacknight91Titi
La tristesse envahit ce monde peu a peu, rongeant maison par maisons ces occupants Elle inspire la tristesse sans que personne ne sache qu'elle existe
0
zorax69 Messages postés 9 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 29 juin 2005
29 juin 2005 à 11:07
Merci pour ta réponse.

Quand je relache la souris sur une piece en elle s'arrete, tout va bien.

Le probleme c'est quand elle rentre en colision avec une autre (ici la piece 4) elle doit s'arrete donc j'ai pensé à lui dire :

quand hittest la piece , tes coordonnées = tes coordonnées, mais apriori c'est pas le bon code.


zorax
0
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
29 juin 2005 à 12:13
Pourquoi as tu mis _parent ?
C'est possible que ce soit un problème de chemin.
Explique moi un peu comment est fait ton animation (clip dans clip , etc...)

Blacknight91Titi
La tristesse envahit ce monde peu a peu, rongeant maison par maisons ces occupants Elle inspire la tristesse sans que personne ne sache qu'elle existe
0
zorax69 Messages postés 9 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 29 juin 2005
29 juin 2005 à 12:24
Non, c'est pas un probleme de chemin, quand je trace le hitest ça fonctionne.

Alors sur la scene directement j'ai les pieces (movies).

sur la pièce N3 j'ai le script :

on (press) {

this.startDrag(false, 388, this._y, 511, this._y);

}

on (release, releaseOutside) {

this.stopDrag();

}

onClipEvent (enterFrame) {



if (this.hitTest(_parent.piece4))

{

this._x = _x;

this._y = _y;

}

}






zorax
0

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

Posez votre question
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
29 juin 2005 à 13:09
Je test un fla pour voir, si sa marche je te post le code.

Blacknight91Titi
La tristesse envahit ce monde peu a peu, rongeant maison par maisons ces occupants Elle inspire la tristesse sans que personne ne sache qu'elle existe
0
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
29 juin 2005 à 13:23
Alors :
Voici tout d'abord le code a placer sur un clip.
on(press) {
this.startDrag(false,50+(_root.bloc._width/2),0+(this._height/2),100-(_root.bloc._width/2),100-(_root.bloc._height/2))
}
on(release, releaseOutside) {
stopDrag();
}
Le clip fait 50/50 en taille
Ensuite créer un clip de taille 50/50 nome le "bloc"
Place celui ci a 0/0
Copie le et place le nouveau a 0/50
Copie le encore et place le nouveau a 100/0
Refai la même chose et place le nouveau a 100/50
Et enfin un dernier a 50/100
Test et tu vera que tu poura déplacer le clip.

Est ce bien sa que tu voulais ?
Sinon dis le moi j'essaierai d'améliorer.

Blacknight91Titi
La tristesse envahit ce monde peu a peu, rongeant maison par maisons ces occupants Elle inspire la tristesse sans que personne ne sache qu'elle existe
0
zorax69 Messages postés 9 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 29 juin 2005
29 juin 2005 à 14:27
Merci pour ton aide.

Malheureusement tu n'as pas compris la question.

voici la réponse :



on(press) {this.startDrag(false,this._x,315,this._x,452);}

on(release) {this.stopDrag();}

on (release, releaseOutside) {

this.stopDrag();

}

onClipEvent (enterFrame) {



if (this.hitTest(_parent.piece3))

{//trace ("hit");

this._y = piece3y;

this._x = piece3x;

} else {

piece3y = this._y;

piece3x = this._x;



}

}


zorax
0
Rejoignez-nous