; ParticleGravity 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 magic fountain spraying motes upwards emitter=CreateParticleEmitter(1000) PositionEntity emitter,0,0.5,0 ParticleEmissionRate emitter,150 ParticleLifetime emitter,2,3 ParticleVelocity emitter,0,3,0,0.5,0.3,0.5 ParticleColor emitter,150,220,255,1,80,120,255,0 ParticleSize emitter,0.1,0.03,0.2 EntityBlend emitter,3 grav_y#=-6 While Not KeyDown(1) ; [ / ] change vertical gravity, Space flips it upside down If KeyDown(26) And grav_y>-20 Then grav_y=grav_y-0.2 If KeyDown(27) And grav_y<20 Then grav_y=grav_y+0.2 If KeyHit(57) Then grav_y=-grav_y ; Constant acceleration applied to every particle ParticleGravity emitter,0,grav_y,0 ; 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 [ / ] : gravity Space: flip Esc: exit" Text 0,20,"ParticleGravity emitter,0,"+grav_y+",0" Flip Wend End