//Déclaration des Sprites var Boite:Sprite = new Sprite(); var RetryLevelButtonInterne:Sprite; var Annuler_Choix:Sprite; var Neamar_Sprite:Sprite; var Message_Container:Sprite=new Sprite(); var Message_TexteOK:Sprite=new Sprite(); var Mods:Sprite=new Sprite(); var LVL_En_Cours:Niveau; var LVL_Edit:Niveau=null; //Remplissage des Sprites Message_Container.graphics.beginFill(0x444444); Message_Container.graphics.lineStyle(2,0x000000); Message_Container.graphics.drawRect(0, 0,440,140); Message_Container.x=100; Message_Container.y=160; Message_Container.visible=false; Message_Container.alpha=.8; var Message_Texte:TextField = CreerTextField(Message_Container,10,10,420,100); Message_TexteOK = LevelChangeButton(0); Message_TexteOK.scaleX=Message_TexteOK.scaleY=.3; Message_Container.addChild(Message_TexteOK); Message_TexteOK.x=420; Message_TexteOK.y=120; Message_TexteOK.addEventListener(MouseEvent.CLICK,RemoveMessage); Boite.graphics.beginFill(0xCCCCCC); Boite.graphics.lineStyle(1,0x000000); Boite.graphics.drawRect(0, 0,240,180); Boite.x=50; Boite.y=50; Boite.width=FlashWidth-100; Boite.height=FlashHeight-100; Boite.visible=false; addChild(Boite); AppliquerFiltre(Boite); Annuler_Choix=LevelChangeButton(180); Annuler_Choix.scaleX=Annuler_Choix.scaleY=0.15; Annuler_Choix.addEventListener(MouseEvent.CLICK,Annuler); addChild(Message_Container); AppliquerFiltre(Message_Container); var ChangeLevelInfo:TextField = CreerTextField(Boite,30,0,FlashWidth-100,25,false,false,false); ChangeLevelInfo.htmlText="Liste des niveaux"; RetryLevelButtonInterne=LevelChangeButton(90); addChild(RetryLevelButtonInterne); RetryLevelButtonInterne.x=640; RetryLevelButtonInterne.y=450; RetryLevelButtonInterne.scaleX=RetryLevelButtonInterne.scaleY=.2; RetryLevelButtonInterne.addEventListener(MouseEvent.CLICK,StopLevel); Neamar_Sprite = new Sprite(); Neamar_Sprite.graphics.beginFill(0xCCCCCC); Neamar_Sprite.graphics.drawRect(0, 0, 640, 480); Neamar_Sprite.graphics.endFill(); Neamar_Sprite.graphics.lineStyle(2,0x000000); Neamar_Sprite.graphics.lineTo(640,0); Neamar_Sprite.graphics.lineTo(340,220); Neamar_Sprite.graphics.moveTo(0,0); Neamar_Sprite.graphics.lineTo(320,220); Neamar_Sprite.graphics.moveTo(320,260); Neamar_Sprite.graphics.lineTo(0,480); Neamar_Sprite.graphics.lineTo(640,480); Neamar_Sprite.graphics.lineTo(360,260); Neamar_Sprite.graphics.drawCircle(320, 240,120); Neamar_Sprite.width=640; Neamar_Sprite.height=480; Neamar_Sprite.scaleX=Neamar_Sprite.scaleY=0.07; AppliquerFiltre(Neamar_Sprite); Neamar_Sprite.addEventListener(MouseEvent.MOUSE_OVER,APropos); Neamar_Sprite.addEventListener(MouseEvent.CLICK,AProposTexte); Mods.graphics.beginFill(0xCCCCCC); Mods.graphics.drawRect(0, 0, 100,30); Mods.graphics.endFill(); AppliquerFiltre(Mods); //Ajout dans Mods var SpriteReset:Sprite=new Sprite(); var Mods_Reset:TextField = CreerTextField(SpriteReset,0,0,180,20,false,false,false); Mods_Reset.htmlText="
  • RESET
  • "; SpriteReset.scaleX=SpriteReset.scaleY=0.4; SpriteReset.y=16; Mods.addChild(SpriteReset); SpriteReset.addEventListener(MouseEvent.MOUSE_OVER,SourisIN); SpriteReset.addEventListener(MouseEvent.MOUSE_OUT,SourisOUT); SpriteReset.addEventListener(MouseEvent.CLICK,ResetAll); var SpriteQualiteL:Sprite=new Sprite(); var Mods_QualiteL:TextField = CreerTextField(SpriteQualiteL,0,0,180,20,false,false,false); Mods_QualiteL.htmlText="
  • Réduire la qualité
  • "; SpriteQualiteL.scaleX=SpriteQualiteL.scaleY=0.4; SpriteQualiteL.y=0; Mods.addChild(SpriteQualiteL); SpriteQualiteL.addEventListener(MouseEvent.MOUSE_OVER,SourisIN); SpriteQualiteL.addEventListener(MouseEvent.MOUSE_OUT,SourisOUT); SpriteQualiteL.addEventListener(MouseEvent.CLICK,ToggleQuality); //Lien vers http://www.mini-jeu-gratuit.fr/ var SpriteSponsor:Sprite=new Sprite(); var Mods_Sponsor:TextField=CreerTextField(SpriteSponsor,0,0,50,35,false,true,false) Mods_Sponsor.htmlText="Plus de jeux"; // SpriteSponsor.addEventListener(MouseEvent.MOUSE_MOVE,SourisIN); // SpriteSponsor.addEventListener(MouseEvent.MOUSE_OUT,SourisOUT); function CreerTextField(Parent:Sprite,x:int,y:int,width:int,height:int,multiline:Boolean=true, selectable:Boolean=false,border:Boolean=true):TextField {//Instanciateur de TextField var TextFieldTemporaire:TextField=new TextField(); Parent.addChild(TextFieldTemporaire); TextFieldTemporaire.x=x; TextFieldTemporaire.y=y; TextFieldTemporaire.width=width; TextFieldTemporaire.height=height; TextFieldTemporaire.wordWrap=true; TextFieldTemporaire.background =TextFieldTemporaire.border=border; TextFieldTemporaire.multiline=multiline; TextFieldTemporaire.selectable=selectable; return TextFieldTemporaire; } function LevelChangeButton(Angle:int):Sprite {//fonction qui génére un bouton de type "Suivant". var LevelChangeButtonSprite:Sprite=new Sprite(); LevelChangeButtonSprite.graphics.beginFill(0x7F7FB3); LevelChangeButtonSprite.graphics.lineStyle(1,0x000000); LevelChangeButtonSprite.graphics.drawCircle(75,75,75) LevelChangeButtonSprite.graphics.endFill(); LevelChangeButtonSprite.graphics.lineStyle(10,0xFF0000); LevelChangeButtonSprite.graphics.moveTo(33,33); LevelChangeButtonSprite.graphics.lineTo(116,75); LevelChangeButtonSprite.graphics.lineTo(33,117); LevelChangeButtonSprite.rotation=Angle; LevelChangeButtonSprite.alpha=1; LevelChangeButtonSprite.addEventListener(MouseEvent.MOUSE_MOVE,SourisIN); LevelChangeButtonSprite.addEventListener(MouseEvent.MOUSE_OUT,SourisOUT); return LevelChangeButtonSprite; } function ShowMessage(Texte:String):void {//Affiche un message. Message_Container.visible=true; Message_Texte.htmlText=Texte; } function RemoveMessage(e:Event=null):void {//Cache la boite de messages Message_Container.visible=false; } function UpdaterBoite():void { var i:int=0; var ThumbShot:Niveau; function Afficher(Image:Niveau,Empl:int):void { Boite.addChild(Image); Image.scaleX=Image.scaleY=0.07; Image.x=15 + (Empl%4 +.5)*Ecart;//Le niveau est centré, il faut ajouter le paramètre .5 pour obtenir le bon emplacement Image.addEventListener(MouseEvent.MOUSE_OVER,SourisIN); Image.addEventListener(MouseEvent.MOUSE_OVER,AfficherInfos); Image.addEventListener(MouseEvent.MOUSE_OUT,SourisOUT); Image.addEventListener(MouseEvent.CLICK,ChargementNiveauDirect); Image.y=20 + (Math.floor(Empl/4) +.5)*Ecart/1.3; } RemoveMessage(); //Générer un préview des niveaux while(Boite.numChildren > 0) Boite.removeChildAt(0); var Ecart:Number=Boite.width/10; if(Images_Niveaux.length"; else ChangeLevelInfo.htmlText="Niveau Perso"; if(e.currentTarget.NumeroNiveau==NumeroNiveauUnlockes) ChangeLevelInfo.htmlText="Dernier niveau débloqué : "+e.currentTarget.NumeroNiveau +""; else if(e.currentTarget.NumeroNiveau==NumeroNiveauActuel) { ChangeLevelInfo.htmlText="Dernier niveau tenté : "+e.currentTarget.NumeroNiveau +""; AppliquerFiltre(e.currentTarget,0x7F7FB3) } ChangeLevelInfo.htmlText += "{" + e.currentTarget.Param() + "}"; } function APropos(e:Event):void { ChangeLevelInfo.htmlText="Informations, explications, code source..."; } function AProposTexte(e:Event):void { ShowMessage("À propos...
  • Jeu réalisé par Neamar en AS3 libre.
  • Explications du jeu, dernières mises à jour, code source, aide à la compilation : http://neamar.fr/Res/BGraphe (click to go)
  • "); } function Annuler(e:Event):void { Fond.Taille = 1;//Rezoomer Boite.visible=false; addEventListener(Event.ENTER_FRAME,TesterFinNiveau); } function ToggleQuality(e:Event):void { if(stage.quality == "HIGH") { stage.quality="LOW"; Mods_QualiteL.htmlText="
  • Augmenter la qualité
  • "; } else { stage.quality="HIGH"; Mods_QualiteL.htmlText="
  • Réduire la qualité
  • "; } } function Zoom(evt:MouseEvent):void { Fond.startDrag(); Fond.stopDrag(); if(evt.delta>0) Fond.Taille=Math.min(Fond.scaleX + 0.2*Fond.scaleX,1.2); else Fond.Taille=Math.max(Fond.scaleX - 0.2*Fond.scaleX,0.2); }