GLBasic forum

Other languages => GLBasic - de => Topic started by: WPShadow on 2006-Jul-01

Title: Böser Timer
Post by: WPShadow on 2006-Jul-01
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.
Title: Böser Timer
Post by: Kitty Hello on 2006-Jul-01
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.
Title: Böser Timer
Post by: WPShadow on 2006-Jul-01
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!!!
Title: Böser Timer
Post by: WPShadow on 2006-Jul-02
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!