Böser Timer

Previous topic - Next topic

WPShadow

Hi!

Am Anfang stand der Titelbildschirm:

Vorerst einfach nur
Code (glbasic) Select
LOADSPRITE "titel.bmp", 0

SPRITE 0, 0, 0


SHOWSCREEN

KEYWAIT
Danach kam das 1. Level:

Code (glbasic) Select
WHILE TRUE



y = y + 10
IF y > 255 THEN y = 0
// Hintergrund
FOR b = -1 TO 2
FOR a = 0 TO 2
SPRITE 0, 0 + (a * 256), y + (b * 256)
NEXT
NEXT

SPRITE 1, posx, 400

// Schusstimer

scht = scht + GT



IF KEY(57) = 1 AND scht > (0.25 / 1)
Shoot(posx, 400)

scht = 0
ENDIF



IF KEY(203) = 1 THEN posx = posx - 5
IF KEY(205) = 1 THEN posx = posx + 5

IF posx <= 0 THEN posx = 0
IF posx >= 600 THEN posx = 600



    //GAME_TIMER
    //GT=(GETTIMERALL()-Old_Timer)/1000  //Durch Tausend für die Sekunden
    //Old_Timer=GETTIMERALL()

GT = GETTIMER() / 1000

level()






MoveShots()

treffer()

showShots()


SHOWSCREEN

WEND
Problem ist noch immer, daß ich den Timer nicht so hinbekomme, daß er mir so läuft, daß er mir mit dem Leveltimer bei 0 beginnt, wenn er das Level aufruft. Ich bekomme es einfach nicht hin!!!

Bitte Hilfe!

GLG

W.
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Kitty Hello

Mach mal:
Code (glbasic) Select
LOADSPRITE "titel.bmp", 0
SPRITE 0, 0, 0
SHOWSCREEN
KEYWAIT
SHOWSCREEN // Das hier!!
Sonst ist dein erster GETTIMER() ein riesiger Wert - weil ja zwischen den SHOWSCREENs ein KEYWAIT war.

WPShadow

Funktioniert nicht! Leider...

Wenn ich 10 sek. warte und eine Taste drücke, zeigt mir der Timer 10,9238745982 an und geht dann rauf und die Raumschiffe überlappen sich gegenseitig!!!
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

WPShadow

Eine Frage:

Wie übernehme ich einen FIXEN Wert? Und zwar meine ich das so:

timer1 = timer1 + GETTIMER()

Dann irgendwann möchte ich den Wert von timer1 vollständig übernehmen und folgendermaßen weitermachen:

timer2 = timer2 + GETTIMER() - timer1

Problem an der Sache ist, daß es so nicht funktioniert, denn selbst wenn timer2 in einer eigenen Schleife ist, so übernimmt timer1 noch immer den selben Wert und er zeigt mir immer 0 an.

Bitte HILFE!
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est