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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 850 fois - Téléchargée 15 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
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6
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
1204
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
23 juillet 2009
2
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

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
1275
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
6 octobre 2010

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

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.