Health-points

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

OsIRIS

Betreff: Health-points

BeitragMo, Mai 16, 2005 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
hi!
mag sein das ca. schon 1000 mal gefragt wurde aber in der suche hab ich leider nichts gfunden.
also: ich möchte in meinem "game"( Laughing ) die health points angezeigt bekommen. das sieht im moment so bei mir aus:

;Lebensenergie

health1=100
If health1=100 Then Text 50,50,"Health Raumschiff=100"
If ImagesCollide (laser2,x_alienship,y_alienship,0,alienship,x_alienship,y_alienship,0) Then health1=health1-10
If health1=90 Then Text 50,50,"Health Raumschiff=90"

nun werden bei mir aber von anfang an auf meinem bildschirm die 100 und die 90 übereinander angezeigt.wie kann ich dafür sorgen das die 90 am anfang nicht da ist und erst erscheint wenn das schiff von dem laser getroffen wird und die 100 dann verschwindet?

schon mal danke!
OsIRIS

DivineDominion

BeitragMo, Mai 16, 2005 16:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Da fehlt das verständnis für die Mainloop-tätigkeit wohl noch Smile

Schreib eifnach irgendwo nach den grafikanweisungen (vor flip! Smile):
Text 50, 50, "HP: " + health1

Das wird jetzt immer gemalt (CLS nicht vergessen anfangs!) und wenn es sich ändert, steht eben was anderes dort
christian.tietze@gmail.com - https://christiantietze.de
macOS

diGGa

GruppenKaspar

BeitragMo, Mai 16, 2005 16:20
Antworten mit Zitat
Benutzer-Profile anzeigen
health1=100
If ImagesCollide (laser2,x_alienship,y_alienship,0,alienship,x_alienship,y_alienship,0) Then health1=health1-10
Text 50,50,"Health Raumschiff=" + health1
Gestern Nacht Schlug der Regen an mein Fenster
Ich ging durch das dunkle Zimmer und
glaubte im Licht der Straßenlampe
Den Geist unseres jahrhunderts auf der
Straße zu sehen
Der uns sagte, daß wir alle am Rande
des Abgrunds stehen.
- Al Steward


Athlon 64 3000+ / Radeon 9600 / 1024mb ddram

OsIRIS

BeitragMo, Mai 16, 2005 16:33
Antworten mit Zitat
Benutzer-Profile anzeigen
so nun hab ich es so wie digga es da stehen hat nun wird aber von anfang an 90 als lebensenergie angegeben!und wenn ich drauf schieße passiert auch nicht viel mehr als vorher!

Sir Dan

BeitragMo, Mai 16, 2005 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie DivineDominion schon geschrieben hat :
Schleife verwenden!
BlitzBasic: [AUSKLAPPEN]

health1=100
SetBuffer BackBuffer()
Repeat
Cls
If ImagesCollide(laser2,x_alienship,y_alienship,0,alienship,x_alienship,y_alienship,0) Then health1=health1-10
Text 50,50,\"Health Raumschiff=\" + health1
Flip
Until KeyHit(1)
End

Ich hoffe so geht es Very Happy
(\_/)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination.

OsIRIS

BeitragMo, Mai 16, 2005 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
weiß ja nicht ob ich zu blöd dazu bin oder so aber bei mir läuft das nicht also meinen ganzen verdammten quellcode:
BlitzBasic: [AUSKLAPPEN]
Graphics 1024,768

;Daten in den RAM laden

;Graphik
stars= LoadImage (\"C:\Dokumente und Einstellungen\Mathias\Eigene Dateien\Eigene Datenbanken\krieg der sterne\Grafik\stars.jpg\")
alienship= LoadImage (\"C:\Dokumente und Einstellungen\Mathias\Eigene Dateien\Eigene Datenbanken\krieg der sterne\Grafik\spaceshuttle.jpg\")
alienship2= LoadImage (\"C:\Dokumente und Einstellungen\Mathias\Eigene Dateien\Eigene Datenbanken\krieg der sterne\Grafik\raumschiff.jpg\")
laser= LoadImage (\"C:\Dokumente und Einstellungen\Mathias\Eigene Dateien\Eigene Datenbanken\krieg der sterne\Grafik\laser.bmp\")
laser2= LoadImage (\"C:\Dokumente und Einstellungen\Mathias\Eigene Dateien\Eigene Datenbanken\krieg der sterne\Grafik\laser2.bmp\")
explosion= LoadImage (\"C:\Dokumente und Einstellungen\Mathias\Eigene Dateien\Eigene Datenbanken\krieg der sterne\Grafik\explosion.jpg\")

;Sound
explosionS= LoadSound (\"C:\Dokumente und Einstellungen\Mathias\Eigene Dateien\Eigene Datenbanken\krieg der sterne\Sound\explosion.wav\")
explosionS2= LoadSound (\"C:\Dokumente und Einstellungen\Mathias\Eigene Dateien\Eigene Datenbanken\krieg der sterne\Sound\explosion2.wav\")
laserS= LoadSound (\"C:\Dokumente und Einstellungen\Mathias\Eigene Dateien\Eigene Datenbanken\krieg der sterne\Sound\gun4.wav\")
laserS2= LoadSound (\"C:\Dokumente und Einstellungen\Mathias\Eigene Dateien\Eigene Datenbanken\krieg der sterne\Sound\gun1.wav\")

;Startkoordinaten setzen

x_alienship=512
y_alienship=0
x_alienship2=525
y_alienship2=650

;Hauptschleife

SetBuffer BackBuffer()

Repeat
Cls

;Hintergrund

H=H+1
If H =\"768\" Then H= 0
TileBlock stars,0,H

Text 50,0,\"Press ESC to quit!\"

;------------------------------Schiffe-----------------------------------;

DrawImage alienship,x_alienship,y_alienship

If KeyDown(200) = 1 Then y_alienship=y_alienship - 3
If KeyDown(208) = 1 Then y_alienship=y_alienship + 3
If KeyDown(205) = 1 Then x_alienship=x_alienship + 5
If KeyDown(203) = 1 Then x_alienship=x_alienship - 5
If KeyDown(28) = 1 Then DrawImage laser,x_alienship,y_alienship+110 PlaySound laserS

If x_alienship < 0 Then x_alienship = 0
If x_alienship > 950 Then x_alienship = 950
If y_alienship < 0 Then y_alienship = 0
If y_alienship > 700 Then y_alienship = 700


DrawImage alienship2,x_alienship2,y_alienship2

If KeyDown(17) = 1 Then y_alienship2=y_alienship2 - 3
If KeyDown(31) = 1 Then y_alienship2=y_alienship2 + 3
If KeyDown(32) = 1 Then x_alienship2=x_alienship2 + 5
If KeyDown(30) = 1 Then x_alienship2=x_alienship2 - 5
If KeyDown(57) = 1 Then DrawImage laser2,x_alienship2,y_alienship2-820 PlaySound laserS2

If x_alienship2 < 0 Then x_alienship2 = 0
If x_alienship2 > 950 Then x_alienship2 = 950
If y_alienship2 < 0 Then y_alienship2 = 0
If y_alienship2 > 700 Then y_alienship2 = 700

If ImagesCollide (alienship,x_alienship,y_alienship,0,alienship2,x_alienship2,y_alienship2,0) Then y_alienship=y_alienship-8 y_alienship2=y_alienship2+8 DrawImage explosion,x_alienship,y_alienship DrawImage explosion,x_alienship2,y_alienship2 PlaySound explosionS PlaySound explosionS2

;Lebensenergie

health1=100
If ImagesCollide (laser2,x_alienship,y_alienship,0,alienship,x_alienship,y_alienship,0) Then health1=health1-10
Text 50,50,\"Health Raumschiff=\" + health1

;Ende

Flip
Until KeyDown(1)
End


so damit ihr wenigstens seht das ich nicht zu blöd bin ne hauptschleife einzubauen.

diGGa

GruppenKaspar

BeitragMo, Mai 16, 2005 17:04
Antworten mit Zitat
Benutzer-Profile anzeigen
also eigentlich müsste der immer 100 ausgeben und sobald er getroffen wird ganz kurz 90(sieht man wahrscheinlich garnichtmehr)

du setzt ja bei jedem schleifen durchlauf die variable wieder auf 100 zurück
Gestern Nacht Schlug der Regen an mein Fenster
Ich ging durch das dunkle Zimmer und
glaubte im Licht der Straßenlampe
Den Geist unseres jahrhunderts auf der
Straße zu sehen
Der uns sagte, daß wir alle am Rande
des Abgrunds stehen.
- Al Steward


Athlon 64 3000+ / Radeon 9600 / 1024mb ddram

Hummelpups

BeitragMo, Mai 16, 2005 18:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Als erstes würde ich mal die statischen Pfadangaben rausnehmen, das suckt übelst,
nimm relative pfade. Also z.B. Grafik/lol.bmp"


IMurDOOM[/b]
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

OsIRIS

BeitragMo, Mai 16, 2005 19:33
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich hab jetzt erstmal die variable health1 aus der hauptschleife genommen und sie zu den startkordinaten setzen getan:
BlitzBasic: [AUSKLAPPEN]
;Startkoordinaten setzen

x_alienship=512
y_alienship=0
x_alienship2=525
y_alienship2=650
health1=100


schonmal logisch oder??? Very Happy
nun steht wenigsten nicht mehr ne 90 über ner 100!
der rest sieht jetzt so aus:
BlitzBasic: [AUSKLAPPEN]
;Lebensenergie

Text 50,50,\"Health Spaceshuttle=\" + health1
If ImagesCollide (laser2,x_alieship,y_alienship,0,alienship,x_alienship,y_alienship,0) Then health1=health1-10



funktionieren tut es trotzdem noch nicht!(das regt mich voll auf ich scheitere an der health-point berechnung)
naja !irgendeiner noch eine idee was falsch ist???
und noch danke für eure hilfe!OsIRIS

Hummelpups

BeitragMo, Mai 16, 2005 19:39
Antworten mit Zitat
Benutzer-Profile anzeigen
wie wärs mal mit dem kompletten Source?

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus
 

Gerhard

BeitragMo, Mai 16, 2005 19:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Dein laser und dein ship collidieren ja nicht nur eine Schleife lang, sondern sicherlich länger. Dann wird bei jedem Schleifendurchlauf deine health1 um 10 vermindert. Müsste ganz schön wenig sein, oder?

OsIRIS

BeitragMo, Mai 16, 2005 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
@gerhard genau so ist es!die health-points laufen sogar dann rückwärts wenn ich nicht auf das schiff schieße!das ist echt komisch da muss doch irgend etwas mit meiner If ImagesCollide befehl nicht stimmen oder???
 

Gerhard

BeitragMo, Mai 16, 2005 20:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, wenn du abfragst, ob dein Laser und dein Ship collidieren, wenn sie auf den gleichen x,y - Koordinaten sind, ist das ja auch kein Wunder...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group