Définir limites [AS2]

Résolu
devilwu Messages postés 10 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 22 avril 2009 - 22 avril 2009 à 09:06
devilwu Messages postés 10 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 22 avril 2009 - 22 avril 2009 à 11:39
Bonjour,
J'étudie ActionScript 2.0 depuis plus d'un mois et j'ai commencé mon premier script qui consistait à déplacer un objet en cliquant sur une zone. Ce petit objet (cadre) devait être déplaçable sur toute la surface d'un rectangle (voir exemple).
J'ai réussi hier en fin d'après-midi (mon tout premier code).
Jusque la, tout va bien ! Mais les choses se complique car mon petit cadre ne devrait pas sortir du rectangle.
Et j'ai beau cherché mais je ne trouve pas comment faire… j'ai pensé à hit test mais je n'ai pas réussi à le faire fonctionner…

Si vous pouvez m'aider ça serait vraiment cool !

Voici le swf : http://corpsrompus.com/flash/suiviclic.swf
Et le fla : http://corpsrompus.com/flash/suiviclic.fla

13 réponses

Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
22 avril 2009 à 09:30
Hello,

tu pourrais utiliser des conditions if afin de dire :

- si la position y de mon cadre est inferieur à 0 alors la position y de mon cadre est egale à 0.
- si la position y de mon cadre est superieur a la hauteur de mon
rectangle alors la position y de mon cadre est egale à la hauteur de mon
rectangle moins la hauteur de mon cadre.
- si la position x de mon cadre est inferieur à 0 alors la position x de mon cadre est egale à 0.
- si la position x de mon cadre est superieur a la largeur de mon
rectangle alors la position x de mon cadre est egale à la largeur de mon
rectangle moins la largeur de mon cadre.

-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
3
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
22 avril 2009 à 10:23
Aller je suis sympa, je t'aide :

if(cadre_mc._y < 0){


     cadre_mc._y = 0;


}


if(cadre_mc._y > rectangle_mc._height){


     cadre_mc._y = rectangle_mc._height - cadre_mc._height;


}

if(cadre_mc._x < 0){


     cadre_mc._x = 0;


}


if(cadre_mc._x > rectangle_mc._width){


     cadre_mc._x = rectangle_mc._width - cadre_mc._width;


}

-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
3
devilwu Messages postés 10 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 22 avril 2009
22 avril 2009 à 11:39
J'ai finalement changé l'emplacement des fichiers (pour la simple raison que je ne pourrais pas continuellement garder ces fichiers à l'emplacement indiqué).
Donc les re-voici :
http://www.flashkod.com/codes/AS2-DEPLACER-CLICS-RECTANGLE-DANS-ZONE-DELIMITEE_49896.aspx
3
devilwu Messages postés 10 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 22 avril 2009
22 avril 2009 à 09:32
J'avais quelques idées comme ça mais vraiment trop vagues…
Je te remercie. Je vais essayer et je te tiens informé ;)
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
22 avril 2009 à 10:13
De mémoire en tant qu'ancien développeur AS2 il est possible de définir les limites du drag lors de l'appel de la fonction.

Renseigne toi sur le dictionnaire ActionScript, sur la fonction startDrag(), notamment sur les paramètres qu'elle accepte.

Blacknight
www.osteres.com
0
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
22 avril 2009 à 10:15
Hello [../auteur/BLACKNIGHT91TITI/294509.aspx Blacknight91titi],

si tu étais aller voir sa demo tu aurai vu que ce n'est pas un Drag

-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
0
devilwu Messages postés 10 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 22 avril 2009
22 avril 2009 à 10:18
Effectivement ce n'est pas un drag,
Mais la prochaine étape et d'y ajouter le drag and drop et j'ai testé, ça ne pose pas ce problème.
Merci quand même.
0
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
22 avril 2009 à 10:25
D'après la question posé dans le premier message, ça avait tout l'air d'être un drag & drop.

Etant donné que tu ne t'en sert pas, je ne peux que vivement te conseiller de l'utiliser plutôt que de le réinventer ;)
0
devilwu Messages postés 10 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 22 avril 2009
22 avril 2009 à 10:41
Justement, je l'utilise aussi mais mon problème ne venait pas de ça donc je préférais présenter que mon problème.

Enfaite  l'idée derrière tout ça, c'était de pouvoir déplacer de façon intuitive ce cadre, soit en le glissant comme on le ferait avec un dossier sur son bureau soit en cliquand sur l'endroit que l'on voudrait visionner.

En tout cas, je te dois un grand merci Orange Bob car tu m'as carrément fait le code et je t'en suis vraiment reconnaissant car tout est nickel !

Je vais ré-uploader les fichiers, au cas où quelqu'un voudrait faire développer un script similaire en AS2.

Merci à toi aussi Blacknight, et désolé de la confusion dans ma demande.

Voici le swf : http://corpsrompus.com/flash/suiviclic.swf
Et le fla : http://corpsrompus.com/flash/suiviclic.fla
0
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
22 avril 2009 à 10:45
Penses également à marquer le topic comme résolu afin que d'autre puisse se rendre dessus en sachant que la réponse s'y trouve.

Bon flash !
0
devilwu Messages postés 10 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 22 avril 2009
22 avril 2009 à 10:54
Par contre je n'ai pas trouvé de zone éditable si c'est le titre qu'il faut changer
Comment dois-je faire ?
0
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
22 avril 2009 à 11:01
Non c'est parfait, tu as bien validé la réponse.

C'est un moyen qui permet de voir qu'un réponse à été validé (que tu as trouvé réponse à ta question).

Certaines questions restent malheureusement sans réponse... d'autre parce que leur auteur ne prennent pas la peine de la valider.
0
devilwu Messages postés 10 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 22 avril 2009
22 avril 2009 à 11:03
Ok !
Merci encore !
0
Rejoignez-nous