Drag and drop dans une forme complexe

Messages postés
2
Date d'inscription
mercredi 9 décembre 2009
Statut
Membre
Dernière intervention
21 janvier 2011
- - Dernière réponse : 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 ?
Afficher la suite 

2 réponses

Messages postés
221
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
6 septembre 2011
0
Merci
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.
Commenter la réponse de dj_ouf
Messages postés
2
Date d'inscription
mercredi 9 décembre 2009
Statut
Membre
Dernière intervention
21 janvier 2011
0
Merci
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();}
Commenter la réponse de xgue46