Eléments de programmation de Jeux en AS3

download Eléments de programmation de Jeux en AS3

of 12

Transcript of Eléments de programmation de Jeux en AS3

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"; } }