CreateCamera()

Syntax

Ergebnis = CreateCamera(#Kamera, x, y, Breite, Höhe [, SichtbarkeitsMaske [, Lod]])
Beschreibung
Erstellt eine neue Kamera in der aktuellen Welt, an der Position 'x, y' mit den angegebenen Dimensionen. Beachten Sie, dass diese angegebene Position und Größe die Position und Größe der Anzeige ("Display") auf Ihrem Bildschirm sind, nicht die Position und Größe der Kamera in der Welt.

Im Gegensatz zu anderen grafikrelevanten Befehlen werden diese Koordinaten und Dimensionen in Prozent (von 0 bis 100) angegeben (für eine genauere Platzierung können Fließkommazahlen verwendet werden). Dies erscheint Ihnen vielleicht merkwürdig, aber 3D-Applikationen sollten unabhängig von der Bildschirmauflösung arbeiten und die Prozent-Methode ist eine gute Möglichkeit, dies zu erreichen.

Wenn eine Kamera mit einer Höhe von 50% erstellt wird, dann wird sie immer 50% der Höhe des Bildschirms füllen, unabhängig davon, ob Sie einen Bildschirm mit 640*480 oder 1600*1200 verwenden. Wenn eine Kamera mit dem gleichen numerischen Bezeichner bereits erstellt wurde, dann wird die vorherige Kamera automatisch freigegeben und durch die neue ersetzt.

Kameras können überlappt werden. Dies bedeutet: Es ist möglich eine Kamera anzuzeigen, die den gesamten Bildschirm füllt und darin eine weitere kleinere Kamera, die einen anderen Platz in der Welt anzeigt. Um dies zu erreichen, ist die Reihenfolge der Erstellung sehr wichtig: Die Kamera, welche obenauf angezeigt werden soll, sollte als letzte erstellt werden.

Parameter

#Kamera Die Nummer zum Identifizieren der neuen Kamera. #PB_Any kann verwendet werden, um diese Zahl automatisch zu generieren.
x, y Die Position (in Prozentwerten) des linken Randes der Kamera-Anzeige auf dem Bildschirm. 0% bedeutet am linken Rand des Bildschirms, 100% bedeutet am rechten Rand des Bildschirms.
Breite, Höhe Die Größe (in Prozentwerten) des Bildschirms, den die Anzeige dieser Kamera nutzen soll. Siehe das Bild unten für einen besseren Überblick.
SichtbarkeitsMaske (optional) Eine Maske um auszuwählen, welche Entities und Billboards auf dieser Kamera angezeigt werden sollen. Die Kamera definiert ihre eigene Maske, und wenn das Entity oder Billboard mit der Maske übereinstimmt, dann werden sie angezeigt. Standardmäßig haben die Entities und Billboards keine Maske, was bedeutet, dass sie immer auf allen Kameras angezeigt werden.
Lod (optional) Ein Lod-Bias (Level of Details) zur Anwendung auf die Entities, die ihn unterstützen. Wenn Lod-Bias <1 ist, wird ein detaillierteres Objekt angezeigt. Wenn Lod-Bias >1 ist, wird ein weniger detailliertes Objekt angezeigt. Die Objektdistanz wird durch den Lod-Bias geteilt (d.h. ein Lod-Bias von 0,5 verdoppelt die Distanz).

Rückgabewert

Gibt Null zurück, wenn die Kamera nicht erstellt werden konnte. Wenn #PB_Any als Parameter '#Kamera' verwendet wird, dann wird die Nummer der neuen Kamera als 'Ergebnis' zurückgegeben.

Anmerkungen

Beispiel: Position und Dimension bei der Kamera-Erstellung:

  CreateCamera(0, 0, 0, 100, 100) ; Erstellt eine Kamera, welche den gesamten Bildschirm ausfüllt
  
  CreateCamera(0, 0,  0, 100, 50) ; Erstellt einen horizontalen Splitscreen Effekt, für einen
  CreateCamera(1, 0, 50, 100, 50) ; 2 Spieler-Modus auf dem gleichen Bildschirm

  CreateCamera(0, 0, 0, 100, 100) ; Erstellt eine "Fullscreen"-Kamera
  CreateCamera(1, 25, 0, 50, 10)  ; und einen Rückspiegel-Effekt.
                                  ; Beachte: der Rückspiegel wird zuletzt erstellt und wird so
                                  ; auf der "Fullscreen"-Kamera angezeigt

Beispiel: Zwei Kameras teilen den Bildschirm in zwei Hälften:

  ; obere Kamera
  CreateCamera(0, 0, 0, 100, 50)  
  MoveCamera(0, 0, 50, 150, #PB_Absolute)
  CameraBackColor(0, RGB(215, 225, 255))
  
  ; untere Kamera
  CreateCamera(1, 0, 50, 100, 50) 
  MoveCamera(1, 0, 50, -150, #PB_Absolute)
  CameraBackColor(1, RGB(255, 225, 215))
  RotateCamera(1, 180, 0, 0)

Siehe auch

FreeCamera(), ResizeCamera()

Unterstützte OS

Alle

<- CheckObjectVisibility() - Camera Inhaltsverzeichnis - FreeCamera() ->