begin process at 2012 02 07 07:05:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ActionScripts

 > [AS2] DÉPLACER PAR CLICS UN RECTANGLE DANS UNE ZONE DÉLIMITÉE

[AS2] DÉPLACER PAR CLICS UN RECTANGLE DANS UNE ZONE DÉLIMITÉE


 Information sur la source

 Description

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-LIMI TES-AS2_1301282.aspx

Source

  • 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;
  • }
  • }
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.


 Sources de la même categorie

Source avec Zip ZOOM SUR UNE IMAGE par yasdar
Source avec Zip Source avec une capture UN PEU DE MATH par yasdar
Source avec Zip Source avec une capture PARTICULE SYSTEM par yasdar
Source avec Zip Source avec une capture GALLERIE PHOTO AVEC XML par yasdar
Source avec Zip Source avec une capture MP3 LAYER NICE &SMALL par yasdar

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture EFFET D'EAU RÉALISTE - AS2 par Choumoumou
Source avec Zip MENU RETATION par habibcode
Source avec Zip DIAPORAMA AS2 par ahmedhrbdj
Source avec Zip Source avec une capture MULTI-DEBRID par remy2501
Source avec Zip REDIMENSIONNEMENT PROPORTIONNEL D'UNE IMAGE par Orange73

Commentaires et avis

Commentaire de on_drag_on le 22/04/2009 12:55:06

Salut,

Oué ... enfin c'était pas plus dur de le transposer en AS3 du coup ...

my_btn.addEventListener(MouseEvent.CLICK, functionCadre);
function functionCadre(event:MouseEvent):void {
     var X = mouseX;
     var Y = mouseY;
     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;
     }  
     }

Commentaire de pegase31 le 22/04/2009 13:42:52 administrateur CS

il y a une méthode encore plus belle et moins lourde :

var X:Number, Y:Number;
my_btn.addEventListener(MouseEvent.CLICK, functionCadre);
function functionCadre(evt:MouseEvent):void {
X = restrict(evt.localX, 125, 425);
Y = restrict(evt.localY, 135, 266);
}
function restrict(nb:Number, min:Number, max:Number):Number {
return (nb<min) ? min : (nb>max) ? max : nb;
}

Il est possible de mettre des int à la place des Number, mais en cas de zoom, on perd la précision.
Pour les explications, n'hésitez pas à demander

Peg'

Commentaire de devilwu le 22/04/2009 13:45:32

Salut, je ne connais pas encore assez bien AS3 pour m'y lancer mais je vous remercie car avec vos 2 codes je vais pouvoir étudier ça d'un peu plus prêt ;) !
Merci.

Commentaire de pegase31 le 22/04/2009 13:47:47 administrateur CS

à part l'ajout du listener pour déclencher la fonction, il n'y a aucune fonction spécifique AS3 dans nos deux codes. Le reste fonctionne trés bien en AS2.

Peg'

Commentaire de on_drag_on le 22/04/2009 14:02:40

Eh ben, je me demandais si il y avait lieu de poser ce code en source ici et voilà que je découvre cette propriété restrict, et je vois qu'elle est aussi très intéressante au niveau d'un champ de texte :)
Merci ;=)

Commentaire de Orange73 le 22/04/2009 14:03:13

humm... pas mal Peg' pour localX et localY, j'y avais pas pensé :-)

Sinon c'est clair que basculer le code en AS3 c'est super compliqué (mdr) !

Commentaire de pegase31 le 22/04/2009 14:08:24 administrateur CS

restrict n'est qu'une fonction custom et on peut l'appliquer à ce que l'on veut ;)

Peg'

Commentaire de devilwu le 22/04/2009 15:34:43

Ouf, désolé mais comme je l'ai dit je viens tout juste de commencer AS.
J'ai du choisir la version 2 par rapport à mon projet (qui est de ré-adapter un script). Donc du fait que je dois dabord apprendre l'AS2 pour comprendre le script que j'ai à adapter. Par la suite, par contre c'est vrai que l'adapter en AS3 serait une bonne idée.

En tout cas je vous remercie des commentaires, une fois mon projet terminé en AS2 je tenterais de le mettre à niveau.

Devilwu

Commentaire de smoochy le 22/04/2009 17:36:49

hello,
comme quoi pour arriver au même résultat ya toujours 1000 façons...

perso j'aurais codé comme on_drag_on, mais vu que tu arrives à économiser 9 lignes de codes sur 19 au total, ça vaut la peine que je regardes ton code de plus près ^^

j'ai juste une question sur ton commentaire:
"Il est possible de mettre des int à la place des Number, mais en cas de zoom, on perd la précision.
Pour les explications, n'hésitez pas à demander"
... alors je demande :-)

j'ai fais une petite recherche sur les différence entre number, int et uint...


ActionScript 3 intègre désormais trois types afin de représenter les nombres :

. int : représente un nombre entier 32 bit (32 bit signed integer)
. uint : représente un nombre entier non signé 32 bit. (32 bit unsigned integer)
. Number : représente un nombre décimal 64 bit (64-bit IEEE 754 double-precision floating-point number)


... mais je ne comprends pas bien la différence entre les 3, j'ai regardé sur le net et ça m'a encore plus embrouillé... qqun aurait une explication simple sur la différence entre ces 3 termes et quand utiliser lequel?

Commentaire de Orange73 le 22/04/2009 18:01:19

- int : Nombre entier (-1, -2, ... 0, 1, 2 ,3 , 4 ...) sans decimal quoi :)
- uint: Nombre entier ne pouvant etre negatif
- Number: N'importe quel nombre.

Commentaire de smoochy le 22/04/2009 18:30:15

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...)

Commentaire de on_drag_on le 22/04/2009 18:37:22

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

Commentaire de smoochy le 22/04/2009 21:43:41

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

Commentaire de Girou le 23/04/2009 14:38:57

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)

Commentaire de pegase31 le 23/04/2009 14:42:35 administrateur CS

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'

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Définir limites [AS2] [ par devilwu ] 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 zon Interface web avec thumbs [ par JuneWade ] Salut tous, D'abord, je débute en ActionScript. Je développe une interface web composée de 3 images (gros thumbs); elles avances légèrement en cas de conditionnelle flash as2 [ par danypetit ] bonjour! j'ai un petit problème à vous soumettre: dans flash, j'ai créé plusieurs clips qui se déroulent quand on clique dessus. Je voudrais qu'une Aide AS2 PHP XML [ par libelulule38 ] Bonjour, je cherche depuis quelques temps des tutos qui expliquent comment faire le lien entre flash (AS2) et PHP. D'après mes connaissances, je sais Bouger les cartes une à une [ par bask ] Bonjour à tous ! Je suis tout nouveau dans ce forum et débutant avec Flash MX 2004 alors j'espère un peu (beaucoup..) de clémence de votre part. Merc diaporama Horizontal [ par dawink ] Bonjour, je suis novice en flash et surtout actionscript et j'ai un gros souci pour faire un slide show.Je m'explique. J'ai fait un diaporama horizont passer onMetadata de l'as2 à l'as3 [ par maxouye ] Bonjour, voilà mon problème : En as2 pour récupérer la durée totale d'un fichier flv j'utilisais : //maStream est un objet de type netStreammaStream.< Clic/Doubleclic AS3 [ par natouvan ] Bonjour !Débutante en as3, ma question relève probablement du Ba-Ba... mais je sèche...Principe de l'animation : J'ai créé un clip posé sur ma scène q [AS2]: liens URL d'un module .swf vers un .html? [ par JuneWade ] Salut tous,      Voilà, j'ai un .swf (une interface type menu) intégré dans une page .html. Les boutons de l'interface (.swf) sont censés renvoyer au mp3 player AS2 ou AS3 [ par feniks007 ] Bonjour à tous les ami, je suis débutant mais j' ai quelque notion d'actionscript 2 et 3.j'aimerai savoir ou je pourrai trouver un tutoriel ou une sou


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales