; ; ------------------------------------------------------------ ; ; PureBasic - Particle ; ; (c) Fantaisie Software ; ; ------------------------------------------------------------ ; ; [F5] = включить/отключить ParticleEmitter 0 ; [F6] = SpeedFactor + для ParticleEmitter 1 ; [F7] = SpeedFactor - для ParticleEmitter 1 #CameraSpeed = 1 #MaxSpeedFactor = 10 #MinSpeedFactor = 0 IncludeFile #PB_Compiler_Home + "examples/3d/Screen3DRequester.pb" Define.f KeyX, KeyY, MouseX, MouseY, speedFactor = 1.0, percent = 0.01 If InitEngine3D() Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Textures", #PB_3DArchive_FileSystem) InitSprite() InitKeyboard() InitMouse() If Screen3DRequester() LoadTexture(0, "flare.png") CreateMaterial(0, TextureID(0)) DisableMaterialLighting(0, 1) MaterialBlendingMode (0, #PB_Material_Add) CreateParticleEmitter(0, 10, 1, 1, 0) ParticleMaterial (0, MaterialID(0)) ParticleTimeToLive (0, 2, 2) ParticleEmissionRate(0, 20) ParticleSize (0, 30, 30) ParticleColorRange (0, RGB(255,0,0), RGB(255, 0, 255)) CreateParticleEmitter(1, 10, 1, 1, 0) ParticleMaterial (1, MaterialID(0)) ParticleTimeToLive (1, 2, 2) ParticleEmissionRate(1, 20) ParticleSize (1, 30, 30) ParticleColorRange (1, RGB(255, 255, 0), RGB(0, 255, 0)) MoveParticleEmitter(1, -50, 0, 0) CreateCamera(0, 0, 0, 100, 100) MoveCamera(0, 0, 0, 100, #PB_Absolute) Repeat Screen3DEvents() If ExamineMouse() MouseX = -MouseDeltaX() * #CameraSpeed * 0.05 MouseY = -MouseDeltaY() * #CameraSpeed * 0.05 EndIf If ExamineKeyboard() If KeyboardReleased(#PB_Key_F5) Disable = 1 - Disable DisableParticleEmitter(0, Disable) EndIf If KeyboardPushed(#PB_Key_F6) speedFactor = speedFactor + percent * (#MaxSpeedFactor - speedFactor) ParticleSpeedFactor(1, speedFactor) EndIf If KeyboardPushed(#PB_Key_F7) speedFactor = speedFactor + percent * (#MinSpeedFactor - speedFactor) ParticleSpeedFactor(1, speedFactor) EndIf If KeyboardPushed(#PB_Key_Left) KeyX = -#CameraSpeed ElseIf KeyboardPushed(#PB_Key_Right) KeyX = #CameraSpeed Else KeyX = 0 EndIf If KeyboardPushed(#PB_Key_Up) KeyY = -#CameraSpeed ElseIf KeyboardPushed(#PB_Key_Down) KeyY = #CameraSpeed Else KeyY = 0 EndIf EndIf RotateCamera(0, MouseY, MouseX, 0, #PB_Relative) MoveCamera (0, KeyX, 0, KeyY) RenderWorld() Screen3DStats() FlipBuffers() Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1 EndIf Else MessageRequester("Ошибка", "3D Движок не может быть инициализирован", 0) EndIf End