Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-09-2004, 14:32   #1 (permalink)
nix für ungut
 
Benutzerbild von don.fernando
 
Registriert seit: Mar 2004
Ort: München
Beiträge: 39
timer bzw. counter funktioniert nicht

Hallo,

ich habe einen Timer für ein Spiel gebastelt - als eigenes fla funktioniert er, aber sobald ich ihn in eine andere fla einbaue geht er nicht mehr!?

Der Timer soll erst in einem bestimmten Bild starten - ich habe gedacht ich mache eine funktion draus die ich erst in Bildx aufrufe - aber das läuft nicht.

Hat von euch jemand einen Gedankenanstoß - Morgen ist schon abgabe

Vielen Dank schonmal

hab den timer angehängt
Angehängte Dateien
Dateityp: zip runterzaehler_mit_bonuscount.zip (6,8 KB, 15x aufgerufen)
don.fernando ist offline   Mit Zitat antworten
Alt 22-09-2004, 14:37   #2 (permalink)
Grillmeister
 
Benutzerbild von Schaschlick
 
Registriert seit: Jul 2003
Ort: Stuttgart
Beiträge: 188
schaut mir stark nach einem pfadproblem aus, also schau mal im forum nach: _root bzw _parent
ich hab leider kein mx04 sry, hoffe aber ich konnte dir trotzdem weiterhelfen
__________________
Der Schwabe an sich kann alles nur KEIN Hochdeutsch
Schaschlick ist offline   Mit Zitat antworten
Alt 22-09-2004, 15:51   #3 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Ich schließe mich an.
Ist sicherlich ein Pfad Problem.

Aber Den Timer würde ich sowieso
mal korrigieren. Es wird bei der Restzeit
doch immer eine Sekunde zu viel abgezogen.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 22-09-2004, 16:08   #4 (permalink)
nix für ungut
 
Benutzerbild von don.fernando
 
Registriert seit: Mar 2004
Ort: München
Beiträge: 39
ihr hattet recht

hups tippfehler - ja jetzt zählt er aber leider nicht ab dem Bild wo er zum erstenmal auftritt sondern von anfang des kompletten Spiels an.

Mein derzeitiger Lösungsansatz - der leider noch nicht fünktioniert.
Ein Timer Movieclip mit 3 Bildern.
Bild1:
Code:
//hier möchte ich die startzeit vom timer abziehen
	_root.startminuten = int((getTimer()/1000)/60);
	_root.minuten = int((getTimer()/1000)/60-_root.startminuten);
	_root.startsekunden = int((getTimer()/1000));
	_root.startsekunden %= 60;
	_root.sekunden = int((getTimer()/1000)-_root.startsekunden);

	
	//Sekunden Anzeige damits runterzählt
	_root.zeitsec = 59-_root.sekunden;
	
	//plus die Null
	if (_root.zeitsec<10) {
		_root.zeitsec2 = "0"+_root.zeitsec;
	} else {
		_root.zeitsec2 = _root.zeitsec;
	}
	
	
	//Minuten Anzeige damits runterzählt
	_root.zeitmin = _root.spielmin-_root.minuten;
Bild2 (das Script wie gehabt):
Code:
_root.minuten = int((getTimer()/1000)/60);
	_root.sekunden = int((getTimer()/1000));
	_root.sekunden %= 60;
	
	//Sekunden Anzeige damits runterzählt
	_root.zeitsec = 59-_root.sekunden;
	
	//plus die Null
	if (_root.zeitsec<10) {
		_root.zeitsec2 = "0"+_root.zeitsec;
	} else {
		_root.zeitsec2 = _root.zeitsec;
	}
	//Minuten Anzeige damits runterzählt
	_root.zeitmin = _root.spielmin-_root.minuten;
und in Bild3:
Code:
gotoAndPlay(2);
das wär doch ein Ansatz oder? aber es läuft nicht.
das mit der einen Sekunde habe ich auch noch nicht hinbekommen.

Schönen Gruß
don.fernando ist offline   Mit Zitat antworten
Alt 22-09-2004, 16:50   #5 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Nur so nebenbei.
Ich habe gerade gelesen,
man soll ab FlashMX eine Timer
mit setInterval() machen.

Hier habe ich mal ein Beispielt gemacht.

Auf der Bühne brauch man folgende Textfelder:
sek_txt (für die Sekunden);
min_txt (für die Minuten);
count_txt (für den Counter);

ActionScript:
  1. var a = 0;
  2. //-----------------------------
  3. _root.min_txt.text = 1;
  4. //-----------------------------
  5. function stoppuhr() {
  6.  if (a < 59) {
  7.   a++;
  8.   _root.sek_txt.text = 60 - a;
  9.   _root.count_txt.text = a;
  10.  } else {
  11.   a = 1;
  12.   _root.min_txt.text--;
  13.   _root.sek_txt.text = 60 - a;
  14.   _root.count_txt.text = a;
  15.  }
  16. }
  17. //-----------------------------
  18. setInterval(stoppuhr, 1000);
  19. //-----------------------------
  20.  
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 22-09-2004, 17:26   #6 (permalink)
nix für ungut
 
Benutzerbild von don.fernando
 
Registriert seit: Mar 2004
Ort: München
Beiträge: 39
hallo thebiz

ich steig durch dein Beispiel nicht durch.
Heißt _root.sek_txt.text der instanzname des textfeldes ist "sek_txt" und die variable "text"?
don.fernando ist offline   Mit Zitat antworten
Alt 23-09-2004, 00:37   #7 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
sek_txt ist der Name der Textinstanz, ganz richtig.

.text ist die text Eigenschaft des Textfeldes.

Bei Textfeldern sollte man nicht über die Variable arbeiten,
sonder lieber über den Instanzname und über die .text Eigenschaft.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 23-09-2004, 08:08   #8 (permalink)
nix für ungut
 
Benutzerbild von don.fernando
 
Registriert seit: Mar 2004
Ort: München
Beiträge: 39
Danke

Uupps

also thebiz vielen Dank für dein Script, ist ja viel kürzer und nicht so umständlich wie meins.

Ich war gestern einfach zu lang vor der Kiste - heute Morgen habe ich gemerkt das unter "Veröffentlichen" Flash5 eingestellt war -
desswegen gings nicht - war halt schon etwas gaga.
don.fernando ist offline   Mit Zitat antworten
Alt 23-09-2004, 08:16   #9 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Gerne!

Du kannst das setInterval() auch wieder löschen,
wenn Du es stoppen willst.
Dazu musst Du dem setInterval() eine ID geben:

ActionScript:
  1. meinI = setInterval(function,millisec,parameter);
später zum löschen einfach:

ActionScript:
  1. clearInterval(meinI);
Zack, bum fertig!
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 10:39 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele