Drag and drop dans une forme complexe

xgue46 Messages postés 2 Date d'inscription mercredi 9 décembre 2009 Statut Membre Dernière intervention 21 janvier 2011 - 20 janv. 2011 à 22:26
xgue46 Messages postés 2 Date d'inscription mercredi 9 décembre 2009 Statut Membre Dernière intervention 21 janvier 2011 - 21 janv. 2011 à 17:13
bonjour,
je voudrais déplacer un clip dans une zone en forme de F, mais sorti du rectangle de base je n'arrive à rien.
Est ce que quelqu'un pourrait me donner un tuyau ?

2 réponses

dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011
21 janv. 2011 à 10:53
Salut

En effet startDrag n'accepte qu'un objet Rectangle pour la limitation...
Si tu veux limiter dasn d'autres formes que du rectangle, il faut plutôt contrôler à l'événement onMouseMove, associé à un hitTest de la forme en F.
Si le hitTest retourné entre l'objet déplacé et le F retourne false, il faut repositionner de force le curseur dans la zone.
0
xgue46 Messages postés 2 Date d'inscription mercredi 9 décembre 2009 Statut Membre Dernière intervention 21 janvier 2011
21 janv. 2011 à 17:13
Salut,

Merci pour ton info. j'ai essayé de faire quelque chose, mon objet est bien confiné (dans un L) mais il devient très difficilement controlable (le drag ne s'arrête pas tant que je n'ai pas remis la main sur mon objet). Est ce que tu pourrais me dire ce qui ne va pas dans mon script.

on (press) {startDrag(this);}
onClipEvent (mouseDown)//j'ai aussi essayé avec (enterFrame)// {
this.onMouseMove = function() {
if (this.hitTest(_root.mur1)){_root.objet._y = 90;}
if (this.hitTest(_root.mur2)){_root.objet._x = _root.objet._x +2;}
if (this.hitTest(_root.mur3)){_root.objet._y = _root.objet._y -10;}
if (this.hitTest(_root.mur4)){_root.objet._x = _root.objet._x +10;}
if (this.hitTest(_root.mur5)){_root.objet._y = _root.objet._y -10;}
if (this.hitTest(_root.mur6)){_root.objet._x = 440;}
}
}
on (release) {stopDrag();}
0
Rejoignez-nous