Graphik löschen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Speed><Coder

Betreff: Graphik löschen

BeitragMo, Sep 01, 2008 2:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi all!

Hab ma ne Frage.
Frage:^^ Ich hab heut n Spiel geschrieben, in dem man mit den Pfeiltasten n Raumschiff steuern kann, dann hab ich auch noch Collisionsabfragen gemacht dazugemacht.So jetzt komms^^ Also...wenn jetzt das Schiff gegen ne Wand donnert, dann kommt ne explosion an der Stelle vom Schiff, aber das Schiff kann man teilweise noch sehen, so, kann man das Bild vom Schiff einfach mit einem Befehl löschen, sodass es nicht mehr da ist, oder gibts da nen anderen trick? Mit Freeimage gehts net, dann stürtzt BB ab Sad Achja, mein Freeimage steht aber in ner Schleife: Da ist der
Code: [AUSKLAPPEN]

...
Repeat

Cls

DrawImage wall, -15,-5

If KeyDown(200) Then y = y - 1
If KeyDown(208) Then y = y + 1
If KeyDown(205) Then x = x + 1
If KeyDown(203) Then x = x - 1

;             _____________________
;            /                     \
DrawImage Bild, x+2,y+2        ; Bild = Raumschiff

If x < -10 Then x = 780
If x > 800 Then x = 5
If y < 0   Then y = 595
If y > 600 Then y = 5

If ImagesCollide(Bild,x,y,0, wall,-15,-5,0) Then
DrawImage fire, x,y

FreeImage Bild ;<-------DA isses

EndIf

Flip
Until KeyHit(1)
...

Bitte um Hilfê!
Danke schön im Vorraus^^
 

MisterKnister

BeitragMo, Sep 01, 2008 6:48
Antworten mit Zitat
Benutzer-Profile anzeigen
blitz basic stürzt ab, weil es beim nächsten schleifendurchgang wieder das bild malen will, das geht aber nicht, da du es gelöscht hast.
ich würde das mit types machen.

darkralf

BeitragMo, Sep 01, 2008 6:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Könntest es einfach machen mit einer "If then" Konstruktion.

If explosion = 0 then DrawImage Bild, x, y

statt "FreeImage bild" einfach ein "explosion = 1"


Oder mit LoadAnimImage, dass das zweite (oder xte) Frame schwarz ist.

Oder du denkst dir was anderes aus.
Das ist kein Fehler! Das ist ein Feature.

sheldon

BeitragMo, Sep 01, 2008 10:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja genau, ich mache es immer mit einer Update() Funktion, die ich dann durch den Main Loop aufrufe. Also z.B.
Code: [AUSKLAPPEN]
Repeat

;Hier kommt dein Zeug mit dem x+1 und so hin

Cls
Flip

Update()
Until Keyhit(1)

;...

Function Update()
If explodiert = False then DrawImage Bild, x+2,y+2
;Und anderes Zeug
End Function
 

Speed><Coder

BeitragMo, Sep 01, 2008 11:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh ja^^ das ging ja richtig schnell^^

Und glaub ich habs begriffen. Ich werd ma schnell was dadazu Programmieren^^ (Ma gugn obs geht Laughing )

Vielen dank für alle, die mir hier halfe(gibs des Wort eigentlich??? Wenn nicht dankt euch einfach "geholfen haben"^^)
World of Warcraft Süchtlinge:
1.Süchtling:"Ey leutz ich heut was von n 'Reallife' gehört."
2.Süchtling:"Was is das???
3.Süchtling:"LINK????"

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group