[as2] déplacer par clics un rectangle dans une zone délimitée

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 344 fois - Téléchargée 17 fois

Contenu du snippet

Ceci est mon tout premier code ;). Ce script n'a donc pas pour but de faire avancer ActionScript (surtout 2.0 !) mais simplement d'aider des débutants ou autres qui seraient coincé à ce niveau là.

Le but était de pouvoir déplacer un rectangle dans une zone délimitée.
Un des problèmes survenus était le fait qu'en cliquant trop prêt des limites, le cadre en sorte. Ceci à été résolu par l'intervention du membre Orange73 (que je remercie encore !), ici :
http://www.flashkod.com/forum/sujet-DEFINIR-LIMITES-AS2_1301282.aspx

Source / Exemple :


my_btn.onPress = function() {
	trace ("mouse X = " + _xmouse);
	trace ("mouse Y = " + _ymouse);
	var X = _xmouse;
	trace ("var X = " + X);
	var Y = _ymouse;
	trace ("var Y = " + Y);
	cadre._x = X
	cadre._y = Y
	
if(cadre._y < 135){
     cadre._y = 135;
}

if(cadre._y > 266){
     cadre._y = 266;
}

if(cadre._x < 125){
     cadre._x = 125;
}

if(cadre._x > 425){
     cadre._x = 425;
}

}

Conclusion :


Les traces m'ont permis de vérifier certaines distances, sentez-vous donc libre de les enlever et de faire ce que vous voulez de ce code, bien sûr ;) !

La prochaine étape serait d'ajouter une fonction Drag'n'Drop pour rendre plus intuitif cette application.

J'espère que ce script pourra vous aider.

A voir également

Ajouter un commentaire Commentaires
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
23 avril 2009 à 14:42
J'ai jamais dit que c'était compliqué ;)
Mais c'est vrai que l'as3 pourrait avoir une méthode pareille, surtout qu'il existe déjà deux propriétés MIN_VALUE et MAX_VALUE qui sont implémentées (et ne servent pas à grand chose au final) ...

Une demande à faire pour CS5 ?

Peg'
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
23 avril 2009 à 14:38
function restrict(nb:Number, min:Number, max:Number):Number {
return (nb<min) ? min : (nb>max) ? max : nb;
}

'taaaaain c'est si simple... que ca en est presque beau
Allez zouu, dans ma class Math Custom en static function.

Merci Peg :o)
cs_smoochy Messages postés 183 Date d'inscription mercredi 29 novembre 2000 Statut Membre Dernière intervention 23 avril 2010
22 avril 2009 à 21:43
effectivement, en plus je les avais regardé à l'époque tes tutos (très bien faits d'ailleurs)

mais le fait est que j'ai vraiment pas eu le temps de me plonger dans l'as3 et que j'ai dû continuer de faire des travaux en as2, donc j'ai un peu oublié tout ce que j'avais regardé en début d'année
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
22 avril 2009 à 18:37
si tu regardes sur le net, c'est un concours à qui fera la réponse la plus compliquée ...

Ben ... je l'avais mise ici :
http://www.flashkod.com/tutoriaux/TUTORIEL-AS3-NOTIONS-BASE_906.aspx
cs_smoochy Messages postés 183 Date d'inscription mercredi 29 novembre 2000 Statut Membre Dernière intervention 23 avril 2010
22 avril 2009 à 18:30
lol comment faire compliqué quand c'est si simple ^^ merci on ne peut être plus clair

si tu regardes sur le net, c'est un concours à qui fera la réponse la plus compliquée... et du coup j'y comprenais plus rien... en fait j'aurais mieux fait de regarder dans l'aide flash as3 directement plutôt que de chercher sur le net...)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.