CreateText3D()
Syntaxe
Resultat = CreateText3D(#Texte3D, Texte$ [, Police$, Hauteur, Couleur])Description
Crée un nouveau texte 3D.
Arguments
#Texte3D Le numéro du nouveau texte 3D.
#PB_Any peut être utilisé pour générer automatiquement ce numéro.Texte$ Le texte à afficher.
Il peut être modifié avec Text3DCaption().Police$ (optionnel) Le nom de la police à utiliser.
La police doit être présente dans le chemin Add3DArchive() et doit être définie dans le fichier 'proper-definitions.fontdef'.Hauteur (optionnel) La hauteur de la police à utiliser. Couleur (optionnel) La couleur RGBA à utiliser.
Pour obtenir une couleur valide, utiliser RGBA().
La couleur peut être changée avec Text3DColor().
Valeur de retour
Renvoie une valeur non nulle si le texte a été créé avec succès ou zéro en cas d'erreur.
Si #PB_Any a été utilisé pour le paramètre #Texte3D alors le nouveau numéro généré est renvoyé en cas de succès.
Remarques
Pour être affiché, le texte doit être relié à un LibraryLink "node" "noeud" or an entité.
Exemple
; Initialisation du monde 3D
InitEngine3D()
InitSprite()
InitKeyboard()
InitMouse()
Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Textures", #PB_3DArchive_FileSystem)
Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/fonts", #PB_3DArchive_FileSystem)
Parse3DScripts()
; Ouverture de la fenêtre
OpenWindow(0,0,0,1000,1000,"Texte 3D",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
OpenWindowedScreen(WindowID(0),0,0,1000,1000,1,0,0)
; Création du monde 3D
CreateSphere(0, 2)
CreateMaterial(0, LoadTexture(0, "clouds.jpg"))
CreateEntity(0, MeshID(0), MaterialID(0))
CreateCamera(0, 0, 0, 100, 100)
MoveCamera(0, 0, 0, 10, #PB_Absolute)
; Création d'un texte 3D
CreateText3D(0, FormatDate("%hh:%ii:%ss", Date())) ; Création du texte 3D
Text3DColor(0, RGBA(255, 0, 0, 255)) ; Couleur et transparence
Text3DAlignment(0, #PB_Text3D_HorizontallyCentered) ; Alignement du texte
AttachEntityObject(0, "", Text3DID(0)) ; Il est obligatoire de lier un texte 3D à une entité (ou un noeud)
MoveText3D(0, 0.5, 1, 2) ; Position du texte 3D
ScaleText3D(0,0.8,0.2,0.5,#PB_Absolute) ; Dimension du texte 3D
; Gestion de la fenêtre, du clavier et de la souris
Repeat
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
End
EndSelect
Until Event = 0
ExamineKeyboard()
ExamineMouse()
If MouseDeltaX()>0
MoveEntity(noeud,0.5,0,0)
ElseIf MouseDeltaX()<0
MoveEntity(noeud,-0.5,0,0)
EndIf
If MouseDeltaY()>0
MoveEntity(noeud,0,-0.5,0)
ElseIf MouseDeltaY()<0
MoveEntity(noeud,0,0.5,0)
EndIf
If MouseButton(#PB_MouseButton_Left) <>0
End
EndIf
If MouseButton( #PB_MouseButton_Right) <>0
MoveEntity(noeud,0,0,0,#PB_Absolute)
EndIf
tiks = MouseWheel()
If tiks > 0
MoveEntity(noeud,0,0,1)
EndIf
If tiks < 0
MoveEntity(noeud,0,0,-1)
EndIf
If KeyboardPushed(#PB_Key_Escape)
quitter + 1
EndIf
If KeyboardPushed(#PB_Key_Space)
If rotation=1
rotation=0
Else
rotation=1
EndIf
EndIf
; Barre espace = ON/OFF rotation de l'entité avec le texte 3d attaché à elle
If rotation =1
RotateEntity(0, 1, 1, 1, #PB_Relative)
EndIf
; Mise à jour de l'heure
Text3DCaption(0, FormatDate("%hh:%ii:%ss", Date()))
; Affichage de la scène
StartDrawing(WindowOutput(0))
DrawText(0,5,"Souris et Clavier: Espace et Molette souris")
DrawText(0,30,".: Echap ou clic gauche pour quitter :.")
StopDrawing()
RenderWorld()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) Or Quitter = 1
End
Voir aussi
FreeText3D()
OS Supportés
Tous