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

Text3D Index - FreeText3D() ->