Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire
117 internautes nous ont dit merci ce mois-ci
Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire
117 internautes nous ont dit merci ce mois-ci
package script.test{ import flash.display.Sprite; import flash.display.Shape; import flash.display.LineScaleMode; import flash.display.SimpleButton; import flash.display.CapsStyle; import flash.utils.Timer; import flash.events.TimerEvent; import flash.events.Event; import flash.display.MovieClip; import flash.events.MouseEvent; import flash.text.* public class Chrono extends MovieClip{ private var zoneInterface:Sprite; private var aiguHeur:Shape=new Shape(); private var aiguMin:Shape=new Shape(); private var aiguSec:Shape=new Shape(); private var aiguDixSec:Shape=new Shape(); private var aiguDixiem:Shape=new Shape(); private var aiguSixiem:Shape=new Shape(); private var btStartPause:SimpleButton; private var btStopReset:SimpleButton; private var zoneTexte3:TextField; private var date0:Date; private var dateXx:Date; private var moteur:Timer; private var dejaEcoule:Number; private var sEcoule:Number; private var tabTem0:Array; private var tabTemPause:Array; private var rotaFact:Number; public function Chrono(){ var format:TextFormat=new TextFormat(); format.font="Charlemagne Std"; format.color=0xBD7A74; format.size=18; format.underline=true; zoneTexte3=new TextField();//manque les parenthèses zoneTexte3.selectable=false; zoneTexte3.antiAliasType="advanced";////////////////////////////AJOUT zoneTexte3.autoSize=TextFieldAutoSize.LEFT; zoneTexte3.x=20; zoneTexte3.y=-25; zoneTexte3.defaultTextFormat=format; zoneInterface=new Sprite(); zoneInterface.x=160; zoneInterface.y=160; var zoneInterface2:Sprite=new Sprite(); zoneInterface2.x=253; var zoneInterface3:Sprite=new Sprite(); zoneInterface3.x=285; zoneInterface2.y=zoneInterface3.y=15;//groupage possible zoneInterface2.buttonMode=zoneInterface3.buttonMode=true;//groupage possible //sert a rien de generaliser ces variables a la classe var normal:Shape=new Shape(); normal.graphics.beginFill(0x3C3C3C); normal.graphics.drawRect(0,0,20,20); var survol:Shape=new Shape(); survol.graphics.beginFill(0x666666); survol.graphics.drawRect(0,0,20,20); var clic:Shape=new Shape(); clic.graphics.beginFill(0xCCCCCC); clic.graphics.drawRect(0,0,20,20); btStartPause=new SimpleButton(); btStartPause.upState=normal; btStartPause.overState=survol; btStartPause.downState=clic; btStartPause.hitTestState=normal; btStartPause.addEventListener(MouseEvent.MOUSE_DOWN,clicStart);//place le au meme niveau sauf si tu compte faire une gestion plus pointu des activation des ecouteurs //pq faire des doublons de shapes si ce sont les memes??????? btStopReset=new SimpleButton(); btStopReset.upState=normal; btStopReset.overState=survol; btStopReset.downState=clic; btStopReset.hitTestState=normal; dessiner(aiguHeur,4,0x996633,1,-70); dessiner(aiguMin,2,0x3299FF,1,-90); dessiner(aiguSec,1,0x33CC33,1,-100); dessiner(aiguDixSec,1.1,0xFF9951,0.5,-60); dessiner(aiguDixiem,0.2,0xFF9900,0.5,-50); dessiner(aiguSixiem,0.1,0xFF9965,0.5,-30); //un groupage des addchilds (dans la limite du possible) permet de bien vérifier la hierachie d'affichage addChild(zoneTexte3); addChild(zoneInterface); zoneInterface2.addChild(btStartPause); addChild(zoneInterface2); zoneInterface3.addChild(btStopReset); addChild(zoneInterface3); // sans doute il sera preferable de mettre toute les valeurs d'initialisation d'en une fonction séparée, comme cela tu peux initier et reseter avec la meme méthode tabTemPause=new Array(); tabTem0=new Array(); dejaEcoule=sEcoule=0;//groupage moteur=new Timer(1); } //alors la surtout ne pas imbriquer les fonctions (je ne fais pas de test de debug, c'est a toi de le faire) private function dessiner(a0:Shape,a1:Number,a2,a3:Number,a4:Number):void{ a0.graphics.lineStyle(a1,a2,a3,false,LineScaleMode.NONE,CapsStyle.ROUND); a0.graphics.moveTo(0,a4); a0.graphics.lineTo(0,0); zoneInterface.addChild(a0); } private function tourner(evt:TimerEvent):void{ dateXx=new Date();//? pas le courage de tout vérifier sEcoule=(dateXx.getTime()-tabTem0[0]); rotaFact=sEcoule+dejaEcoule; zoneTexte3.text="chrono: "+Math.round(rotaFact/82000000)+" : "+Math.round(rotaFact/120000)+" : "+(Math.abs(rotaFact/1000));// a poser apres aiguHeur.rotation=Math.round(rotaFact*0.000006); aiguMin.rotation=Math.round(rotaFact*0.0001); aiguDixSec.rotation=Math.round(rotaFact*0.0006); aiguSec.rotation=Math.round(rotaFact*0.006); aiguDixiem.rotation=Math.round(rotaFact*0.036); aiguSixiem.rotation=Math.round(rotaFact*0.06); } private function clicStart(evt:MouseEvent){ btStartPause.removeEventListener(MouseEvent.MOUSE_DOWN,clicStart); btStartPause.addEventListener(MouseEvent.MOUSE_DOWN,clicPause); btStopReset.addEventListener(MouseEvent.MOUSE_DOWN,clicStop); moteur.addEventListener(TimerEvent.TIMER,tourner); moteur.start(); date0=new Date(); tabTem0.push(date0.getTime()); } private function clicPause(evt:MouseEvent){ btStartPause.removeEventListener(MouseEvent.MOUSE_DOWN,clicPause); moteur.reset(); tabTemPause.shift(); date0=new Date(); tabTemPause.push(date0.getTime()); dejaEcoule=(tabTemPause[0]-tabTem0[0]+dejaEcoule); btStartPause.addEventListener(MouseEvent.MOUSE_DOWN,clicResume); } private function clicResume(evt:MouseEvent){ btStartPause.removeEventListener(MouseEvent.MOUSE_DOWN,clicResume); tabTem0.shift(); date0=new Date(); tabTem0=new Array(); tabTem0.push(date0.getTime()); btStartPause.addEventListener(MouseEvent.MOUSE_DOWN,clicPause); moteur.addEventListener(TimerEvent.TIMER,tourner); moteur.start(); } private function clicStop(evt:MouseEvent){ //enleve en premier btStopReset.removeEventListener(MouseEvent.MOUSE_DOWN,clicStop); btStartPause.removeEventListener(MouseEvent.MOUSE_DOWN,clicResume); btStartPause.removeEventListener(MouseEvent.MOUSE_DOWN,clicPause); moteur.reset(); tabTem0=new Array(0); tabTemPause=new Array(0); dejaEcoule=sEcoule=0; //puis ajoute btStopReset.addEventListener(MouseEvent.MOUSE_DOWN,clicReset); btStartPause.addEventListener(MouseEvent.MOUSE_DOWN,clicStart); } private function clicReset(evt:MouseEvent){ btStopReset.removeEventListener(MouseEvent.MOUSE_DOWN,clicReset); aiguHeur.rotation=aiguMin.rotation=aiguDixSec.rotation=aiguSec.rotation=aiguDixiem.rotation=aiguSixiem.rotation=0; } } }
Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire
117 internautes nous ont dit merci ce mois-ci
Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire
117 internautes nous ont dit merci ce mois-ci
Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire
117 internautes nous ont dit merci ce mois-ci
Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire
117 internautes nous ont dit merci ce mois-ci
Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire
117 internautes nous ont dit merci ce mois-ci
Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire
117 internautes nous ont dit merci ce mois-ci
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.