{lang: 'de'}
Flashhilfe.de - Flash Community

Stoppuhranzeige (Textfelder und Anzeigeziffern via split getrennt) läuft nicht [Flash 11]

 


AntwortenRegistrieren Seite1  

tahh#1
Benutzerbild von tahh
Beiträge: 2
Registriert: Jul 2012

13.07.2012, 12:19

Hallo. Ich habe mit Action Script 3 eine Stoppuhr erstellt. Da diese immer gesprungen ist, wenn die Zahl 1 angezeigt wurde, habe ich für jede Ziffer ein Textfeld erstellt und mit split den Timer laufen lassen.  Jedoch setzt der Timer sich dann nicht mehr auf 1 und läuft auch nicht mehr wirklich.

Kann mir da einer helfen??

Hier der Code:

package  {
   
   import flash.utils.Timer;
   import flash.events.*;
   import flash.display.*;
   
   
   public class main extends MovieClip {
      
      public static var myTimer:Timer = new Timer(10, 0);
      public static var startTime:Date = new Date();
      
      public function bin() {
         // constructor code
      }
   }
   
}


function counterInit() {
   stopHour0TXT.text = "0";
   stopHour1TXT.text = "0";
   stopMin0TXT.text = "0";
   stopMin1TXT.text = "0";
   stopSec0TXT.text = "0";
   stopSec1TXT.text = "0";
   stopMil0TXT.text = "0";
   stopMil1TXT.text = "0";
   stopMil2TXT.text = "0";
}


function beginning() {
   myTimer.addEventListener("timer", updateDisplay);
   myTimer.start();
}


function updateDisplay(event:TimerEvent):void {
   var currentTime:Date = new Date();
   var counterTime:Date = new Date(currentTime.time - startTime.time);
   showTime(counterTime);
}

function showTime(counterTime:Date):void {
   var milliseconds = counterTime.getMilliseconds();
   var seconds = counterTime.getSeconds();
   var minutes = counterTime.getMinutes();
   var hours = counterTime.getHours() - 1;
   
   if (milliseconds < 100) {milliseconds = "0"+milliseconds;}
   if (seconds < 10) {seconds = "0"+seconds;}
   if (minutes < 10) {minutes = "0"+minutes;}
   if (hours < 10) {hours = "0"+hours;}

   var millisecondsArr:Array = milliseconds.split('');
   var secondsArr:Array = seconds.split('');
   var minutesArr:Array = milliseconds.split('');
   var hoursArr:Array = milliseconds.split('');
   
   stopMil2TXT.text = millisecondsArr[2];
   stopMil1TXT.text = millisecondsArr[1];
   stopMil0TXT.text = millisecondsArr[0];
   stopSec1TXT.text = secondsArr[1];
   stopSec0TXT.text = secondsArr[0];
   stopMin1TXT.text = minutesArr[1];
   stopMin0TXT.text = minutesArr[0];
   stopHour1TXT.text = hoursArr[1];
   stopHour0TXT.text = hoursArr[0];
}


startBTN.addEventListener(MouseEvent.CLICK, startClick);

function startClick(evt:MouseEvent):void {
   beginning();   
}

stopBTN.addEventListener(MouseEvent.CLICK, stopClick);

function stopClick(evt:MouseEvent):void {
   myTimer.stop();
}

resetBTN.addEventListener(MouseEvent.CLICK, resetClick);

function resetClick(evt:MouseEvent):void {
   myTimer.removeEventListener("timer", updateDisplay);
   myTimer = new Timer(10, 0);
   startTime = new Date();
   counterInit();
}

counterInit();
vindel#2
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 3000
Wohnort: Köln
Registriert: Oct 2007

13.07.2012, 20:17