Objekte updaten und zeichnen? Wie macht man es am besten?

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

FOODy

Betreff: Objekte updaten und zeichnen? Wie macht man es am besten?

BeitragMo, März 13, 2006 19:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo leute!
Ich bin ein neuling im BlitzMax und weiß nicht genau wie ich es am besten mit den updaten und zeichnen von spielobjekten machen könnte.

Bis jetzt machte ich es immer mit listen.
bsp:
Code: [AUSKLAPPEN]
for obj=eachin Objekt_list
' Objekt zeichnen
' Objekt updaten
next


Ich habe das beispiel kurzgefasst.
Eigentlich trenne ich das Zeichnen und Updaten.
ABer ist es auch sinnvoll und klug?

Wie macht ihr das?
Kann man eigentlich Objekte auch löschen? (nicht die listeneinträge gemeint)

Ich hoffe das ich mich verständlich ausgedrückt habe Sad
 

suberror

BeitragMo, März 13, 2006 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
gelöscht
  • Zuletzt bearbeitet von suberror am Sa, Mai 06, 2017 16:15, insgesamt einmal bearbeitet

FOODy

BeitragMo, März 13, 2006 20:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja so meinte ich das.
So mach ich es auch.

Ich werds mit dem "Objekt = null" ausprobieren.

Danke dir!


Kurze frage noch.
Ich mache ein Shooter.
Funzt auch alles einwandfrei.
Nur gibts eine FPS von 50 wenn man zulange schießt.
Hier der Code für die Bullets. ("Geschoss" & "Kugel" hört sich scheiße an oO)


Code: [AUSKLAPPEN]
Function drawBullets()
For obj:Bullet=EachIn Bullet_list
If(onview(obj))
obj.drawbullet()
End If
Next
End Function

Function updateBullets()
For obj:Bullet=EachIn Bullet_list
Repeat
obj.damage:-0.001
obj.life:-5
If obj.life <=0 Or collision(obj)
SetScale 1,1
SetRotation 0
SetColor 129,129,129
SetAlpha .8
SetBlend LIGHTBLEND
DrawLine obj.xstart,obj.ystart,obj.x,obj.y
SetBlend ALPHABLEND
SetColor 255,255,255
obj.life = 0
If obj.image<>MaskNahkampfBullet
createPartikeltyp1(obj.x,obj.y,ImageRauchPartikelA,0.02,0.04)
Else
If collision(obj)
createPartikeltyp1(obj.x,obj.y,ImageRauchPartikelA,0.03,0.04)
End If
End If
Local d:Solid2 = getsolid2collision(obj)
If d
d.health:-obj.damage
obj.damage=0
End If

obj.destroy()
End If
obj.x:+lengthdir_x(obj.speed,obj.image_angle)
obj.y:+lengthdir_y(obj.speed,obj.image_angle)
Until obj.life<=0

Next
End Function

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group