CheckObjectVisibility()
Syntax
Ergebnis = CheckObjectVisibility(#Kamera, ObjektID)Beschreibung
Überprüft, ob ein Objekt innerhalb einer Kameraansicht sichtbar ist.
Parameter
#Kamera Die zu verwendende Kamera. ObjektID Das zu überprüfende Objekt. Dies kann einer der folgenden Typen sein: - Entity : verwenden Sie EntityID() zur Ermittlung einer gültigen ID. - Light : verwenden Sie LightID() zur Ermittlung einer gültigen ID. - Node : verwenden Sie NodeID() zur Ermittlung einer gültigen ID. - ParticleEmitter: verwenden Sie ParticleEmitterID() zur Ermittlung einer gültigen ID. - BillboardGroup : verwenden Sie BillboardGroupID() zur Ermittlung einer gültigen ID. - Text3D : verwenden Sie Text3DID() zur Ermittlung einer gültigen ID.
Rückgabewert
Gibt #True zurück, wenn sich das Objekt innerhalb der ausgewählten Kameraansicht befindet - oder #False, wenn es sich außerhalb des sichtbaren Bereichs befindet.
Beispiel
InitEngine3D() InitSprite() InitKeyboard() OpenWindow(0, 0, 0, 800, 600, "Object Visibility", #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)
Unterstützte OS
Alle