; ParticleSeed Example ; -------------------- ; Requires Extended mode. Graphics3D 640,480,0,2 SetBuffer BackBuffer() SeedRnd MilliSecs() camera=CreateCamera() PositionEntity camera,0,2,-6 CameraClsColor camera,8,12,24 floor=CreatePlane() EntityColor floor,30,34,44 ; A firework emitter - bursts only, so each pattern is easy to compare emitter=CreateParticleEmitter(1000) PositionEntity emitter,0,2,0 ParticleEmissionRate emitter,0 ParticleLifetime emitter,2,3 ParticleVelocity emitter,0,0,0,2.5,2.5,2.5 ParticleGravity emitter,0,-1,0 ParticleDrag emitter,1 ParticleColor emitter,150,220,255,1,255,120,220,0 ParticleSize emitter,0.1,0.02,0.3 EntityBlend emitter,3 seed=12345 ParticleSeed emitter,seed EmitParticles emitter,300 While Not KeyDown(1) ; R replays the SAME seed - the burst pattern repeats exactly If KeyHit(19) ParticleSeed emitter,seed ClearParticles emitter EmitParticles emitter,300 EndIf ; Space picks a new random seed - a brand new pattern If KeyHit(57) seed=Rand(1,99999) ParticleSeed emitter,seed ClearParticles emitter EmitParticles emitter,300 EndIf ; 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 R: replay same seed Space: new seed Esc: exit" Text 0,20,"ParticleSeed emitter,"+seed+" (same seed = identical firework)" Flip Wend End