; ParticleMax Example ; ------------------- ; Requires Extended mode. Graphics3D 640,480,0,2 SetBuffer BackBuffer() camera=CreateCamera() PositionEntity camera,0,2,-6 CameraClsColor camera,8,12,24 floor=CreatePlane() EntityColor floor,30,34,44 ; A dense bonfire that constantly wants more particles than allowed emitter=CreateParticleEmitter(400) PositionEntity emitter,0,0.5,0 ParticleEmissionRate emitter,400 ParticleLifetime emitter,1.5,2.5 ParticleVelocity emitter,0,2.5,0,0.6,0.4,0.6 ParticleColor emitter,255,220,120,1,255,80,0,0 ParticleSize emitter,0.12,0.03,0.2 EntityBlend emitter,3 maximum=400 While Not KeyDown(1) ; [ / ] resize the emitter's live-particle cap changed=False If KeyHit(26) And maximum>100 maximum=maximum-100 changed=True EndIf If KeyHit(27) And maximum<2000 maximum=maximum+100 changed=True EndIf If changed Then ParticleMax emitter,maximum ; Arrow keys move the camera If KeyDown(200) Then MoveEntity camera,0,0,0.1 If KeyDown(208) Then MoveEntity camera,0,0,-0.1 If KeyDown(203) Then TurnEntity camera,0,1,0 If KeyDown(205) Then TurnEntity camera,0,-1,0 ; UpdateWorld also advances the particle simulation UpdateWorld RenderWorld Text 0,0,"Arrow keys: move camera [ / ] : maximum particles Esc: exit" Text 0,20,"ParticleMax emitter,"+maximum Text 0,40,"Live particles: "+CountParticles(emitter)+" (count saturates at the maximum)" Flip Wend End