Cool Dji a écrit:
Mais en même temps, ce que tu as fait avec le ballon n'est pas inutile
Hum je vais continuer sur ce principe même si je n'aime pas trop.
Afficher une image au premier plan. Oui c'est moche mais c'est que pour l'exemple. Clique sur le bouton play.
■ Démo :
http://falsam.com/sbbjs/guiimage.htmlCode:
EnableExplicit
IncludeFile "babylon/babylon.sbi"
Global Scene, Camera, Light, Ground, Box
Global GUI, Play, Sound, Time, x.f, y.f
Declare LoadGame()
Declare OnPlay()
Declare RenderGame()
UseModule BJS
InitEngine(@LoadGame())
Procedure LoadGame()
Scene = CreateScene()
If Scene
;Camera & lighting environment
ClearScene(RGB(128, 128, 128))
CreateLight("global", 0, 200, 0, 0.4)
Light = CreateLight("global", 0, 200, 0, 0.4, #BJS_Point)
Camera = CreateCamera("camera", 0, 10, 30, #BJS_ArcRotate)
;Ground & Box
Ground = Createground("ground", 10, 10)
Box = CreateBox("box", 3, 3, 3)
MoveMesh(Box, 0, 3, 0)
;Music
Sound = MusicLoad("petite music", "data/sounds/calm.wav")
;GUI
GUI = CreateDynamicTexture()
Play = Image3D("Play", 20, 20, 80, 80, "data/textures/PlayBtn.png", @OnPlay())
AddControl3D(GUI, Play)
Time = Text3D("donne moi l'heure", 200, 20, 200, 30, "00:00:00")
AddControl3D(GUI, Time)
RenderLoop(@RenderGame())
EndIf
EndProcedure
Procedure OnPlay()
MusicPlay(Sound)
EndProcedure
Procedure RenderGame()
Protected hhmmss.s = FormatDate("%hh:%ii:%ss", Date())
;Deplacement du bouton play
If x < DesktopWidth(0)-80
x + 1
Else
x = 20
EndIf
If y < DesktopHeight(0)-80
y + 0.5
Else
y = 20
EndIf
MoveObject3D(play, x, y)
;Mise à jour de l'heure
SetText3D(Time, hhmmss)
RenderWorld()
EndProcedure