PartikelEngine fehler

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Black Spider

Betreff: PartikelEngine fehler

BeitragSa, Dez 10, 2005 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey Leute
bin grad am schreiben einfer einfachen Partikel Engine,
und hab folgendes Problem:
Die UpdateFunktion reagiert seltsamer weise nicht. Ich hab n bischn weiter Probiert,
doch dann war mein Mesh aufeinmal weg...
weiss einer wieso ?BlitzBasic: [AUSKLAPPEN]
Type Flamme
Field x
Field y
Field z
Field obj
Field brush
Field size
Field alpha
Field rotz
Field bewy
End Type

FlammenLaden = Flamieren(0,0,9,3)

;--- Haupschleife ---


While(Not(KeyHit(1)))

If KeyHit(57) Then Flamieren(0,0,Rnd(3,13),3)

FlammenErneuern()

UpdateWorld
RenderWorld
Flip
Wend


Function Flamieren(x,y,z,s)

fl.Flamme = New Flamme
fl\x = x
fl\y = y
fl\z = z

fl\bewy = Rnd(1,3)
fl\rotz = Rnd(1,3)

fl\obj=CopyEntity(flam)
fl\size = s
fl\alpha = 1

EntityAlpha fl\obj,fl\alpha
EntityColor fl\obj,Rnd(150,250),Rnd(0,100),0
ScaleSprite fl\obj,fl\size,fl\size

End Function

Function FlammenErneuern()

For fl.Flamme = Each Flamme

If fl\alpha < 0.01 Then
fl\alpha = alpha - 0.01
EntityAlpha fl\obj,fl\alpha
fl\rotZ = fl\rotZ + 3
RotateSprite fl\obj,fl\rotZ

MoveEntity fl\obj,0,fl\bewy,0

End If

If fl\alpha < 0.01 Then
FreeEntity fl\obj
Delete fl
End If


Next

End Function


Sollte später mal so aussehen, das Die eigentliche Flamme immer nach ein Paar sekunden vershwindet,
aber solange der ExplosionsStatus 1 ist sich immer wieder erneuert und dabei Grösser wird
(sieht dann so aus wie eine Brennende ExplosionsKugel)...

Danke!
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif

Lunatix

BeitragSo, Dez 11, 2005 12:23
Antworten mit Zitat
Benutzer-Profile anzeigen
So, ein bissle verändert, jetz funzt es :

BlitzBasic: [AUSKLAPPEN]

Graphics3D 800,600,32,2
SetBuffer BackBuffer()

Global flam

flam = LoadSprite(\"flamme.bmp\")
cam = CreateCamera()
MoveEntity cam,0,0,-20

Type Flamme
Field x#
Field y#
Field z#
Field obj
Field brush
Field size#
Field alpha#
Field rotz#
Field bewy#
Field sc#
End Type

FlammenLaden = Flamieren(0,0,9,3)

;--- Haupschleife ---


While(Not(KeyHit(1)))

If KeyHit(57) Flamieren(0,0,Rnd(3,13),3)

FlammenErneuern()

UpdateWorld
RenderWorld
Flip
Wend


Function Flamieren(x,y,z,s)

fl.Flamme = New Flamme
fl\x = x
fl\y = y
fl\z = z
fl\sc = 1
fl\bewy = Rnd(1,3)
fl\rotz = Rnd(1,3)

fl\obj=CopyEntity(flam)
fl\size = s
fl\alpha = 1

EntityAlpha fl\obj,fl\alpha
EntityColor fl\obj,Rnd(150,250),Rnd(0,100),0
ScaleSprite fl\obj,fl\size,fl\size

End Function

Function FlammenErneuern()

For fl.Flamme = Each Flamme


fl\size = fl\size + .2
fl\alpha = fl\alpha - .01
EntityAlpha fl\obj,fl\alpha
fl\rotZ = fl\rotZ + 3
RotateSprite fl\obj,fl\rotZ
ScaleSprite fl\obj,fl\size,fl\size
;MoveEntity fl\obj,0,fl\bewy,0

If fl\alpha < 0
FreeEntity fl\obj
Delete fl
End If





Next

End Function


MFG JP
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Black Spider

BeitragSo, Dez 11, 2005 18:42
Antworten mit Zitat
Benutzer-Profile anzeigen
oh cool! Danke!!! Vielen Dank man!
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group