Je n'arrive pas à mettre un Texte3D sur différentes entités.
Ce code fonctionne
Code : Tout sélectionner
Enumeration Window
#MainForm
EndEnumeration
Enumeration Entity
#Cube1
#Cube2
#Cube3
#Cube4
EndEnumeration
Enumeration Text3D
#T3D1
#T3D2
#T3D3
#T3D4
EndEnumeration
Enumeration Camera
#Camera
EndEnumeration
InitEngine3D()
InitKeyboard()
InitSprite()
InitMouse()
Add3DArchive(#PB_Compiler_Home+"Examples/3D/Data/fonts", #PB_3DArchive_FileSystem)
Parse3DScripts()
OpenWindow(#MainForm, 0, 0, 1024, 768, "Texte 3D")
OpenWindowedScreen(WindowID(#MainForm),0,0,1024,768)
CreateEntity(#Cube1, MeshID(CreateCube(#PB_Any, 1)), #PB_Material_None, -3, 0, 0)
CreateText3D(#T3D1, Str(#Cube1), "BlueHighway-16", 0.3, RGBA(255, 0, 0, 255))
Text3DAlignment(#T3D1, #PB_Text3D_HorizontallyCentered)
AttachEntityObject(#Cube1, "", Text3DID(#T3D1))
MoveText3D(#T3D1, 0.5, 0.5, 0)
CreateEntity(#Cube2, MeshID(CreateCube(#PB_Any, 1)), #PB_Material_None, -1, 0, 0)
CreateText3D(#T3D2, Str(#Cube2), "BlueHighway-16", 0.3, RGBA(255, 0, 0, 255))
Text3DAlignment(#T3D2, #PB_Text3D_HorizontallyCentered)
AttachEntityObject(#Cube2, "", Text3DID(#T3D2))
MoveText3D(#T3D2, 0.5, 0.5, 0)
CreateEntity(#Cube3, MeshID(CreateCube(#PB_Any, 1)), #PB_Material_None, 1, 0, 0)
CreateText3D(#T3D3, Str(#Cube3), "BlueHighway-16", 0.3, RGBA(255, 0, 0, 255))
Text3DAlignment(#T3D3, #PB_Text3D_HorizontallyCentered)
AttachEntityObject(#Cube3, "", Text3DID(#T3D3))
MoveText3D(#T3D3, 0.5, 0.5, 0)
CreateEntity(#Cube4, MeshID(CreateCube(#PB_Any, 1)), #PB_Material_None, 3, 0, 0)
CreateText3D(#T3D4, Str(#Cube4), "BlueHighway-16", 0.3, RGBA(255, 0, 0, 255))
Text3DAlignment(#T3D4, #PB_Text3D_HorizontallyCentered)
AttachEntityObject(#Cube4, "", Text3DID(#T3D4))
MoveText3D(#T3D4, 0.5, 0.5, 0)
CreateCamera(#Camera, 0, 0, 100, 100)
While #True
Event = WindowEvent()
ExamineKeyboard()
If Event = #PB_Event_CloseWindow Or KeyboardPushed(#PB_Key_Escape)
Break
EndIf
MoveCamera(#Camera, 0, 0, 10, #PB_Absolute)
CameraLookAt(#camera,0,0,0)
ClearScreen(RGB(0, 0, 0))
RenderWorld()
FlipBuffers()
Wend
Et là .... c'est le drame !!!! Le code suivant génére une erreur de compilation.
Code : Tout sélectionner
Enumeration
#MainForm
EndEnumeration
Enumeration Camera
#Camera
EndEnumeration
Structure User
Entity.i
Text3D.i
EndStructure
NewList Players.User()
InitEngine3D()
InitKeyboard()
InitSprite()
InitMouse()
Add3DArchive(#PB_Compiler_Home+"Examples/3D/Data/fonts", #PB_3DArchive_FileSystem)
Parse3DScripts()
OpenWindow(#MainForm, 0, 0, 1024, 768, "Texte 3D")
OpenWindowedScreen(WindowID(#MainForm),0 ,0 , 1024, 768)
For X=-3 To 3 Step 2
AddElement(Players())
Players()\Entity = CreateEntity(#PB_Any, MeshID(CreateCube(#PB_Any, 1)), #PB_Material_None, -X, 0, 0)
Players()\Text3D = CreateText3D(#PB_Any, Str(Players()\Entity), "BlueHighway-16", 0.3, RGBA(255, 0, 0, 255))
Text3DAlignment(Players()\Text3D, #PB_Text3D_HorizontallyCentered)
AttachEntityObject(Players()\Entity, "", Text3DID(Players()\Text3D))
MoveText3D(Players()\Text3D, 0.5, 0.5, 0)
Next
CreateCamera(#Camera, 0, 0, 100, 100)
While #True
Event = WindowEvent()
ExamineKeyboard()
If Event = #PB_Event_CloseWindow Or KeyboardPushed(#PB_Key_Escape)
Break
EndIf
MoveCamera(#Camera, 0, 0, 10, #PB_Absolute)
CameraLookAt(#camera,0,0,0)
ClearScreen(RGB(0, 0, 0))
RenderWorld()
FlipBuffers()
Wend