Timer, Sprite Problem

Previous topic - Next topic

superfish

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()

Quentin

Und? Weiter?
Das sieht ja bisher noch nicht ganz falsch aus ;)

Kitty Hello

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

superfish

ahhhhhh, das werd ich mir dann heut Abend mal zu gemüte führen

Thx

KidPaddle

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
Intel CoreDuo 6300, GT 7950 512MB, 2 GB Ram, XP SP2
GP2X MK1, Firmware 2.0.0

Kitty Hello

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