GLBasic forum

Other languages => GLBasic - de => Topic started by: superfish on 2007-Aug-09

Title: Timer, Sprite Problem
Post by: superfish on 2007-Aug-09
Hi @all,

hab da eine denka sperre ;)

Also, meine idee ist es, ein Power Up in fprm eines kleinen Sprites einzubauen.

da dachte ich erstmal ok, mach einen Timer und nach einer gewissen Zeit wird das Sprite erscheinen.

das sah dann erstmal so aus:
Code (glbasic) Select
timer = gettimerall()
Title: Timer, Sprite Problem
Post by: Quentin on 2007-Aug-09
Und? Weiter?
Das sieht ja bisher noch nicht ganz falsch aus ;)
Title: Timer, Sprite Problem
Post by: Kitty Hello on 2007-Aug-09
Mach's so:
Code (glbasic) Select
startpowerup  =GETTIMERALL() + 1000

WHILE TRUE
   IF startpowerup > GETTTIMERALL()
      endpowerup = startpowerup + 5000 // nach 5 sek wieder weg
      IF endpowerup>GETTIMERALL()
         startpowerup = GETTIMERALL() + 3000 // nach 3 sek wieder an
         xpowerup = RND(320)
         ypowerup = RND(240)
      ELSE
         // SPRITE
         PRINT "POWERUP", xpowerup, ypowerup
      ENDIF
   ENDIF
   SHOWSCREEN
WEND
Title: Timer, Sprite Problem
Post by: superfish on 2007-Aug-09
ahhhhhh, das werd ich mir dann heut Abend mal zu gemüte führen

Thx
Title: Timer, Sprite Problem
Post by: KidPaddle on 2007-Aug-10
Ich glaube, dass wird so nicht funktionieren, da die Variable endpowerup bei jedem Schleifendurchgang immer wieder neu gesetzt wird, sobald startpowerup > GETTTIMERALL() ist.

Gruß
Thomas
Title: Timer, Sprite Problem
Post by: Kitty Hello on 2007-Aug-10
Ein Größer/Kleiner Denkfehler und 2x vertippt. So geht's
Code (glbasic) Select
startpowerup  =GETTIMERALL() + 1000


WHILE TRUE
   IF startpowerup < GETTIMERALL()
      endpowerup = startpowerup + 5000 // nach 5 sek wieder weg
      IF endpowerup         startpowerup = GETTIMERALL() + 3000 // nach 3 sek wieder an
         xpowerup = RND(320)
         ypowerup = RND(240)
      ELSE
         // SPRITE
         PRINT "POWERUP", xpowerup, ypowerup
      ENDIF
   ENDIF
   SHOWSCREEN
WEND