//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); //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 { function Afficher(Image:Niveau,Empl:int):void { Boite.addChild(Image); Image.scaleX=Image.scaleY=0.07; Image.x=15 + (Empl%4)*Ecart; 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)*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; for(var i:int=0;i<=NumeroNiveauUnlockes;i++) { var ThumbShot:Niveau=GetLevelData(i,false);//true indique qu'il ne faut pas afficher les messages; Afficher(ThumbShot,i); Boite.addChild(ThumbShot); if(i==NumeroNiveauActuel) AppliquerFiltre(ThumbShot,0x7F7FB3) } if(LVL_Edit!=null)//LVL_Edit est mis à jour lors du chargement d'un niveau perso Afficher(LVL_Edit,14); else { Boite.addChild(SpriteSponsor); SpriteSponsor.x=15+2*Ecart; SpriteSponsor.y=20+3*Ecart/1.3; SpriteSponsor.filters=new Array(new BevelFilter(7,90,0x7F7F00,1,0x000000,1,10,4,10)); } Boite.addChild(Annuler_Choix); Annuler_Choix.y=16; Annuler_Choix.x=16; Boite.addChild(ChangeLevelInfo); Boite.addChild(Neamar_Sprite); Neamar_Sprite.x=17 + 3*Ecart; Neamar_Sprite.y=20 + 3*Ecart/1.3; Boite.addChild(Mods); Mods.x=15; Mods.y=20 + 3*Ecart/1.3; } function AfficherInfos(e:Event):void { ChangeLevelInfo.htmlText="Charger le niveau "+e.currentTarget.NumeroNiveau +""; if(e.currentTarget.NumeroNiveau==NumeroNiveauUnlockes) ChangeLevelInfo.htmlText="Dernier niveau débloqué : "+e.currentTarget.NumeroNiveau +""; if(e.currentTarget.NumeroNiveau==NumeroNiveauActuel) { ChangeLevelInfo.htmlText="Dernier niveau tenté : "+e.currentTarget.NumeroNiveau +""; AppliquerFiltre(e.currentTarget,0x7F7FB3) } } 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/AGraphe (click to go)
  • "); } function Annuler(e:Event):void { Flouter(Fond,Fond.FLOU_FINAL,0);//Déflouter GrandPere=Fond.All_Noeuds[Fond.All_Noeuds.length-1];//Remettre le bon GrandPere ! addEventListener(Event.ENTER_FRAME,TesterFinNiveau); }