Code : Tout sélectionner
InitEngine3D()
InitSprite()
InitKeyboard()
InitMouse()
OpenWindow(0,0,0,1000,1000,"Sound3D",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
OpenWindowedScreen(WindowID(0),0,0,1000,1000,1,0,0)
Add3DArchive(#PB_Compiler_Home+"Examples/3D/Data", #PB_3DArchive_FileSystem)
Add3DArchive(#PB_Compiler_Home+"Examples/3D/Data/Packs/skybox.zip", #PB_3DArchive_Zip)
Add3DArchive(#PB_Compiler_Home+"Examples/3D/Data/Textures", #PB_3DArchive_FileSystem)
SkyBox("stevecube.jpg");
cam=CreateCamera(#PB_Any, 0, 0, 100, 100)
planet=CreateSphere(#PB_Any, 10)
tex_planet=LoadTexture(#PB_Any, "clouds.jpg")
material=CreateMaterial(#PB_Any,TextureID(tex_planet))
planete=CreateEntity(#PB_Any,MeshID(planet),MaterialID(material))
If IsMesh(planete)
MoveEntity(planete,0,0,0)
EndIf
sound3D= LoadSound3D(#PB_Any,"Roar.ogg",#PB_Sound3D_Loop) ;change to a mono-sound-file
SoundVolume3D(sound3D, 20)
SoundRange3D(sound3D, 1, 100)
SoundCone3D(sound3D, 90, 360, 20)
PlaySound3D(sound3D, #PB_Sound3D_Loop)
SoundListenerLocate(CameraX(cam),CameraY(cam),CameraZ(cam))
node=CreateNode(#PB_Any, 0, 0, -75)
AttachNodeObject(node, SoundID3D(sound3D))
AttachNodeObject(node, EntityID(planete))
Repeat
ExamineKeyboard()
ExamineMouse()
If KeyboardPushed(#PB_Key_Escape)
quitter + 1
EndIf
RotateNode(node,0.3,0.4,0.5,#PB_Relative)
If KeyboardPushed(#PB_Key_Right)
MoveNode(node,0.5,0,0)
EndIf
If KeyboardPushed(#PB_Key_Left)
MoveNode(node,-0.5,0,0)
EndIf
If KeyboardPushed(#PB_Key_Up)
MoveNode(node,0,0.5,0)
EndIf
If KeyboardPushed(#PB_Key_Down)
MoveNode(node,0,-0.5,0)
EndIf
tiks = MouseWheel()
If tiks > 0
MoveNode(node,0,0,5)
EndIf
If tiks < 0
MoveNode(node,0,0,-5)
EndIf
StartDrawing(WindowOutput(0))
DrawText(0,0,Str(NodeX(node))+" "+Str(NodeY(node))+" "+Str(NodeZ(node)))
DrawText(0,30,"Touche Haut, Bas, Droite, Gauche et molette souris")
StopDrawing()
RenderWorld()
FlipBuffers()
Until quitter
End