Hilfe

EntityVisible

B3D

Aufruf

Sichtbar = EntityVisible (Entity1, Entity2)

Parameter

Entity1 Identität eines Entitys
Entity2 Identität eines anderen Entitys


Rückgabewert

Diese Funktion liefert 1 zurück, wenn beide Objekte sich "sehen" können. Sonst wird aber nur eine 0 zurückgeliefert.


Beschreibung

Die Funktion EntityVisible ermittelt, ob sich zwei Objekte "sehen" können. Wird 0 zurückgeliefert, dann können die sich nicht sehen. Wird 1 zurückgeliefert, dann können die sich sehen.

Gebe als Parameter einfach die Identitäten der beiden Objekte an.


Beispiel

Standardbeispiel:

Graphics3D 640, 480, 32, 2
SetBuffer BackBuffer()

Sphere1 = CreateSphere(25)
PositionEntity Sphere1, 0, 0, -3
EntityColor Sphere1, 255, 0, 0
EntityPickMode Sphere1, 2, 1

Box = CreateCube()
ScaleEntity Box, 2.4, 1.5, 0.2
PositionEntity Box, 0, 0.75, 0
EntityColor Box, 200, 200, 200
EntityPickMode Box, 2, 1

Plain = CreateCube()
ScaleEntity Plain, 5, 0.000001, 5
PositionEntity Plain, 0, -1, 0

Texture = CreateTexture(128, 128)
SetBuffer TextureBuffer(Texture)
ClsColor 0, 0, 0 : Cls

For X = 0 To 128 Step 8
   Color 255, 0, 0 : Line X, 0, X, 128
Next

For Y = 0 To 128 Step 8
   Color 255, 0, 0 : Line 0, Y, 128, Y
Next

EntityTexture Plain,Texture
SetBuffer BackBuffer()

Sphere2 = CreateSphere(25)
PositionEntity Sphere2, 0, 0,3
EntityColor Sphere2,0, 255, 0
EntityPickMode Sphere2, 2, 1

Camera = CreateCamera()
PositionEntity Camera, 5, 5, 5
PointEntity Camera,Box

Light = CreateLight(1, Camera)

While Not KeyHit(1)
   If KeyDown(205) Then MoveEntity Box, -0.03, 0, 0
   If KeyDown(203) Then MoveEntity Box, 0.03, 0, 0
   
   Visible = EntityVisible(Sphere1,Sphere2)
   
   UpdateWorld
   RenderWorld
   
   If Visible = 1 Then
      Color 255,255,255
      Text 0, 0, "Roter Ball sieht grünen Ball"
   Else
      Color 255, 255, 255
      Text 0, 0, "Roter Ball kann nicht den grünen Ball sehen"
   EndIf
   Flip
Wend
End


Siehe auch

EntityDistance, EntityInView

Übersicht 3D Grafik Status