Hi @all,
hab da eine Denksperre ;)
1.
Also, meine idee ist es, ein Power Up in form eines Sprites einzubauen, welches die Anzahl der leben um 1 erhöt.
da dachte ich erstmal ok, mach einen Timer und nach einer gewissen Zeit wird das Sprite erscheinen.
das sah dann erstmal so aus:
timer = gettimerall()
if timer > 2000
if timer <40000
sprite x,400,300
endif
endif
showscreen
Alles schön, nach 2 sek wird das Sprite für 2sek angezeigt.
Dann fehlte mir nur noch eine Spritekollision, die sagt, wenn spieler + power up = leben + 1
if sprcoll (spieler,powerup) then anzahl der leben + 1
Hatte auch funktioniert, nur habe ich gemerkt, das wenn das Power Up nach 2 sek. verschwindet,
Das power Up irgendwie nur unsichtbar ist.....also immer noch da.
Wenn sich der Spieler also an die Stelle des Power Ups begibt, welches schon verschwunden ist, werden die Leben immer noch hochgezählt.
Habt Ihr eine Idee, wo mein denkfehler liegt?
Bzw. kann ich das sprite auch wieder löschen?
------------------------------------------------------------------------------
Dann hätt ich da noch eine Frage zu den Timer (obiges Beispiel)
Wenn ich jetzt den Timer noch abhängig machen möchte, von der Anzahl der Leben,
also:
if Anzahl der Leben = 1
timer = gettimerall()
if timer > 2000
if timer <40000
sprite x,400,300
endif
endif
endif
showscreen
Dann ist mir schon irgendwie klar, das das nicht funktioniert, aufgrund der Zählzeit vom Start des Programms.
Mit dem einfachen Gettimer hatt es leider auch nicht so richtig funktioniert.
Also, wie setzte ich richtig einen Timer ?
Sorry für das etwas wirre geschwafel, musste mich leider etwas kurz fassen.
Hoffe Ihr habt da ne Idee
Saludos el capitan Fish ;)
jau, das erste Problem ist klar, das Sprite ist ja immer noch vorhanden, auch wenn es nicht angezeigt wird.
mit
LOADSPRITE "", powerup
wird das Sprite wieder freigegeben. Mal sehen, wie dann deine Kollisionsabfrage reagiert ...
Super, Danke Danke Danke
Also mit "" lösche ich in diesem sinne wieder Sprites,richtig?
Und mit dem ",powerup" ist Die zugewiesene Zahl des Sprites gemeint?
Vielen Dank für die schnelle Antwort
genau "powerup" ist die zugewiesene Spritenummer, aber ich weiß nicht genau, wie sich die Kollisionsabfrage dann verhält. Musst halt mal ausprobieren.
Alles klar, vielen Dank ;)
Moment! Warum machst Du keine IF abfrage, die das SPRCOLL nur ausführt, wenn das Powerup auch angezeigt wird.
Und jetzt kommt meine Befürchtung:
Meinst Du, dass man mit LOADSPRITE ein Bitmap läd und mit SPRITE dann positioniert? Dass man 2 gleiche Sprites mit LOADSPRITE 2x laden muss? Oder ist dir bewusst, dass SPRITE in wirklichkeit nur das Bitmap auf den Hintergrund klatscht?
Ganz ehrlich - wenn Du das missverstanden hast, dann reiß ich den SPRITE Befehl endgültig raus un benenne ihn BLIT oder IMAGE.
Ne ne, das ist mir schon klar, das Sprite das Image nur auf den backbuffer setzt.