LotusParticleSystem R1
Blitz3D Forums/Blitz3D Beginners Area/LotusParticleSystem R1
| ||
Ok I gave up with RootParticles(see the post) And now I'm working with Lotus. Hoping someone use it, I 'm here to ask help. I'm tring to draw 5-6 fires, but I don't know If it is the right way... here it is (the code):;use the arrow keys to move ;refer to Example.lps for the emitter settings Graphics3D 800,600,32,2 SetBuffer BackBuffer() Include "h_lotus.bb" InitLotus() ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Using a type to draw some fires Type fire Field x# Field y# Field z# Field flame# End Type ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; C = CreateCamera() PositionEntity C,-10,10,-10 CameraClsColor C,32,32,32 CameraClsMode C,1,1 CameraRange C,.01,10000 SetLotusCamera C ;; FPS MFPS = 45 Period = 1000/MFPS Time = MilliSecs()-Period Global fps,timenext,frames ;; LIGHT L = CreateLight(2) PositionEntity L,24,24,24 LightRange L,Sqr(64*64*3)/4 LightColor L,255,255,255 AmbientLight 128,128,128 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Here I create 6 fires... Is the right way??? For a = 0 To 5 fire1.fire = New fire fire1\flame = LoadASCIIEmitters("Example.lps") fire1\x = Rand(0,50) fire1\y = Rand(0,50) fire1\z = Rand(0,50) Next ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; S = CreateSphere(32) ScaleMesh S,32,32,32 FlipMesh S UpdateNormals S EntityColor S,128,128,1 EntityShininess S,.05 T = LoadTexture("media/diffuse4.bmp") ScaleTexture T,.25,.25 EntityTexture S,T,0,0 Repeat Repeat Elapsed = MilliSecs() - time Until Elapsed Ticks=Elapsed/Period Tween#=Float(Elapsed Mod Period) / Float(Period) If KeyDown(57) Then WireFrame 1 Else WireFrame 0 For U = 0 To Ticks Time = Time + Period ;; UPDATE CAMERA mxs# = mxs + Float(MouseXSpeed())/3 mys# = mys + Float(MouseYSpeed())/3 mxs = mxs - mxs/4 mys = mys - mys/4 TurnEntity C,mys,-mxs,0 RotateEntity C,Min(Max(EntityPitch(C),80),-80),EntityYaw(C),0 MoveEntity C,(KeyDown(205)-KeyDown(203))*.2,0,(KeyDown(200)-KeyDown(208))*.2 MoveMouse GraphicsWidth()/2,GraphicsHeight()/2 ;; UPDATE PARTICLES UpdateLotusParticles() UpdateWorld If U = Ticks Then CaptureWorld Next RenderWorld Tween Text 2,2,"FPS: "+GetFPS(False) Text 2,22,"Particles: "+gLotusParticleCount Flip False Until KeyHit(1) KillLotus() Function GetFPS(JustChecking = False) If Not JustChecking Then frames = frames+1 If MilliSecs() > timenext Then timenext = MilliSecs()+1000 fps = frames frames = 0 EndIf Return fps End Function And It doesn't works... Why??? What I have to do??? |
| ||
at a guess: " fire1\flame = LoadASCIIEmitters("Example.lps") " You are attempting to LOAD this file 5 times and then set the values in a type... I need to reread the docs... I haven't played with this in such a long time... where is Filax? He would know... Filax knows everything! |