ELMENTS DE PROGRAMMATION DE JEUX EN AS3.0
CRATION ET MANIPULATIONDES OBJETS VISUELS
CRATION DES OBJETS VISUELSEtant d Et t donns un clip ou un b t li bouton d dans l la bibliothque :2 mthodes sont possibles pour limporter dans le jeu ou lapplication :Mthode classique : Insertion dune occurrence et nommage via linspecteur de proprits. i Mthode par programmation quon abordera plus loin dans le cours
Nous nous contenterons pour le moment par la N l l mthode 1 N importe Nimporte quel clip crer hritera de la classe flash.display.MovieClip Nimporte quel bouton cr hritera de la classe flash.display.SimpleButton flash displa SimpleButton
PLUSIEURS PROPRITS DONT (1):Proprits P i alpha : Number currentFrame : int
Signification Si ifi iIndique la valeur de transparence alpha de l'objet spcifi. [lecture-seule] Spcifie le numro de limage o rside la tte de lecture dans le scnario de loccurrence de MovieClip. [lecture-seule] Etiquette o rside actuellement la tte de lecture dans le scnario de loccurrence de MovieClip. [lecture-seule] Squence o rside actuellement la tte de lecture dans le scnario de loccurrence de MovieClip. Spcifie si lobjet reoit les vnements doubleClick. Valeur boolenne indiquant si un clip est activ. [lecture-seule] Nombre d'images charger partir d'un fichier SWF en diffusion continue. Indique la hauteur de l'objet daffichage, en pixels. [lecture-seule] Indique la coordonne x de la position de la souris, p en pixels. [lecture-seule] Indique la coordonne y de la position de la souris, en pixels. Indique le nom doccurrence de DisplayObject.
Dfinipar Dfi iDisplayObject MovieClip
currentLabel : String
MovieClip
currentScene : S S Scene
MovieClip M i Cli
doubleClickEnabled : Boo lean enabled : Boolean framesLoaded : int
InteractiveObje ct MovieClip MovieClip
height : Number mouseX : Number
DisplayObject DisplayObject
mouseY : Number
DisplayObject
name : String
DisplayObject
PLUSIEURS PROPRITS DONT (2) :Propritsrotation : Number scaleX : Number scaleY : Number totalFrames : int
SignificationIndique la rotation de l'occurrence de DisplayObject, en degrs, partir de son orientation d'origine. Indique le redimensionnement horizontal (pourcentage) de l objet tel l'objet qu'il est appliqu partir du point d'alignement. Indique le redimensionnement vertical (pourcentage) de lobjet tel quil est appliqu partir du point dalignement. [lecture-seule] Nombre total dimages dans loccurrence de MovieClip. transformation des couleurs et aux limites des pixels dun objet daffichage.
Dfinipar Dfini parDisplayObject
DisplayObject
DisplayObject
MovieClip
transform : Transform Objet dont les proprits se rapportent la matrice, la
DisplayObject
visible : Boolean width : Number x : Number y : Number
Indique si lobjet daffichage est visible ou non. Indique la largeur de l'objet daffichage, en pixels. Indique la coordonne x de loccurrence de DisplayObject par rapport aux coordonnes locales de lobjet DisplayObjectContainer parent. Indique la coordonne y de loccurrence de DisplayObject par rapport aux coordonnes locales de lobjet DisplayObjectContainer parent.
DisplayObject DisplayObject DisplayObject
DisplayObject
PLUSIEURS MTHODES DONT :Mthode MovieClip() : gotoAndPlay(frame:Object, gotoAndPlay(frame:Object scene:String = null):void gotoAndStop(frame:Object, scene:String = null):void ll) id nextFrame():void nextScene():void play():void prevFrame():void prevScene():void stop():void Description Cre une occurrence de MovieClip. Commence la lecture du fichier SWF sur l'image l image spcifie. Place la tte de lecture au niveau de l'image spcifie du clip et l'arrte cet endroit. ifi d li t l' t t d it Place la tte de lecture sur l'image suivante et l'arrte. Place la tte de lecture sur la squence suivante de loccurrence de MovieClip. Dplace la tte de lecture dans le scnario du clip. Place la tte de lecture sur l'image prcdente et l'arrte. Place la tte de lecture sur la squence prcdente de loccurrence de MovieClip. Arrte la tte de lecture dans le clip.
ET DES MTHODES HRITESMthode hitTestPoint(x:Number, y:Number, p g ) shapeFlag:Boolean = false):Boolean Description Evalue lobjet daffichage pour savoir s'il recouvre ou recoupe le p p point spcifi p les p p par paramtres x et y y.
hitTestObject(obj:DisplayObject):Boolea Evalue lobjet daffichage pour savoir s'il recouvre ou n recoupe lobjet d'affichage obj. startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void stopDrag():void . Permet lutilisateur de faire glisser le clip spcifi. Met fin la mthode startDrag().
DPLACEMENT DOBJETS AVEC LA SOURISStratDrag() et stopDrag()Etant donn une occurrence mc_carre dun clip carr
mc_carre.addEventListener(MouseEvent.MOUSE_DOWN, startdeplacement); mc_carre.addEventListener(MouseEvent.MOUSE_UP, mc carre addEventListener(MouseEvent MOUSE UP stopdeplacement); function startdeplacement(ev:MouseEvent):void{ mc_carre.startDrag(); } function stopdeplacement(ev:MouseEvent):void{ mc_carre.stopDrag(); }
GESTION DES ZONES DE TEXTETextField :2 manires pour grer le teste avec lAS 3.0
Pour le moment : P lMthode classique:Cration de champ de texte (de saisie, dynamique) saisie On nassocie plus de variables mais on nomme le champ
Plusieurs proprits de la classe Textfield:La proprit text : correspond au contenu du champ
Avoir recours ventuellement aux mthodes:Number(t) N b (t) : constructeur d l classe N b t t de la l Number toString() ; convertir la chaine rattache en chaine de caractre
Exo : calcultrice simple (addition, multiplication)
DTECTION DES COLLISIONSUne fois que les objets se dplaceront lcran dans votre j , jeu, il arrivera trs couramment quon aimerait bien vrifier q sils entrent en collision les uns avec les autres. ActionScript 3.0 A ti S i t 3 0 contient deux fonctions de dtection d ti t d f ti d dt ti de collision natives:La fonction hitTestPoint teste un emplacement de point afin de voir sil se trouve lintrieur dun objet daffichage. La fonction hitTestObject compare deux objets daffichage lun lautre afin de voir sils se chevauchent.
DTECTION DES COLLISIONSEst-ce que la souris touche mon clip cercle ?Si oui le champ messageText1 affiche hitTestPoint: Yes Si non le champ messageText1 affiche hitTestPoint: No
cercle.addEventListener(Event.ENTER_FRAME,checkCollision); function checkCollision(e:Event) { // Vrifier lemplacement du curseur par rapport au cercle if (cercle.hitTestPoint(mouseX,mouseY,true)) { messageText1.text="hitTestPoint: YES"; } else { messageText1.text="hitTestPoint: NO"; } }
moins que lobjet affich ne possde la forme dun rectangle, en positionnant le troisime paramtre true, hitTestPoint utilisera la forme effective de lobjet afin de dterminer la collision et non pas le rectangle contenant lobjet
DTECTION DES COLLISIONSEst-ce que le clip carre d l avec l souris touche mon clip E l li dplac la i h li cercle ? Si oui le champ messageText1 affiche hitTestObject: Yes p g j Si non le champ messageText1 affiche hitTestObject: Nocercle.addEventListener(Event.ENTER_FRAME,checkCollision); function checkCollision(e:Event) { // dplacer le carr avec la souris carre.x=mouseX; carre.y=mouseY; // Vrifier si le cercle touche le carre if (cercle.hitTestObject(carre)) { messageText1.text="hitTestObject: YES"; 1 hi bj } else { messageText1.text="hitTestObject: NO"; } }