CheckObjectVisibility()
Syntaxe
Resultat = CheckObjectVisibility(#Camera, ObjetID)Description
Vérifie si un objet est visible par une caméra.
Arguments
#Camera La caméra à utiliser. ObjetID L'objet à vérifier. Il peut s'agir de l'un des types suivants: - Entité : Utiliser EntityID() pour obtenir un identifiant valide. - Lumière : Utiliser LightID() pour obtenir un identifiant valide. - Noeud : Utiliser NodeID() pour obtenir un identifiant valide. - Emmetteur de Particules : Utiliser ParticleEmitterID() pour obtenir un identifiant valide. - Groupe de Billboards : Utiliser BillboardGroupID() pour obtenir un identifiant valide. - Texte3D : Utiliser Text3DID() pour obtenir un identifiant valide.
Valeur de retour
Renvoie #True si l'objet est visible, #False sinon.
Exemple
InitEngine3D()
InitSprite()
InitKeyboard()
OpenWindow(0, 0, 0, 800, 600, "Visibilité d'un objet (Utilisez les flèches <-- --> et Echap pour terminer)", #PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0),0, 0, 800, 600)
CreateCamera(0, 0, 0, 100, 100)
CreateCube(0, 1)
CreateTexture(0, 100, 100)
If StartDrawing(TextureOutput(0))
DrawingMode(#PB_2DDrawing_Gradient)
CircularGradient(50, 50, 48)
Circle(50, 50, 48)
StopDrawing()
EndIf
CreateMaterial(0, TextureID(0))
ScaleMaterial(0, 0.1, 0.1)
CreateEntity(0, MeshID(0), MaterialID(0), 0, 0, -2)
Repeat
Repeat : Event = WindowEvent() : Until Event = 0
RenderWorld()
RotateEntity(0, 0.1, -0.3, 0.3, #PB_Relative)
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Left)
MoveEntity(0, -0.1, 0, 0,#PB_Relative)
ElseIf KeyboardPushed(#PB_Key_Right)
MoveEntity(0, 0.1, 0, 0,#PB_Relative)
EndIf
If CheckObjectVisibility(0, EntityID(0)) = #False
Debug "Can't see the object anymore"
Else
Debug "I see it !"
EndIf
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
OS Supportés
Tous