LitDev3D Extension API

LD3D

LD3D
Eine 3D Engine für SB, welche die Irrlicht Engine (http://irrlicht.sourceforge.net/) verwendet.

Das Koordinatensystem ist X (links nach rechts), Y (unten nach oben) und Z (vorne nach hinten).
Bewegung mit den Pfeiltasten oder W,S,A,D und Escape zum Beenden.


AddAnimatedMesh AddBillBoard AddCloudySkydome
AddCube AddDungeonMesh AddFog
AddLight AddMountainSkybox AddMountainTerrain
AddNinja AddQuakeMesh AddSkybox
AddSkydome AddSphere AddTerrain
AddZip AmbientLight AnimateCircle
AnimateOnTerrainRelative AnimateOnTerrainTo AnimateRelative
AnimateRotation AnimateTo Click
ClickObject Collision CollisionObject1
CollisionObject2 ConsoleMessages GetCameraDirection
GetCameraPosition GetPosition GetTerrainHeight
GetType Remove RemoveAnimators
ResetAllKeyDown SetCameraProperties SetGlow
SetGravity SetPosition SetRotation
SetScale SetShininess SetTexture
SetType Setup SetVisible
Start Timer timerThread
WasKeyDown

AddAnimatedMesh(mesh,startFrame,endFrame,fps)
Fügt ein allgemeines animiertes Gitternetz Objekt (*.b3d) hinzu.
mesh startFrame Der Startframe für das animierte Objekt.
endFrame Der Endframe für das animierte Objekt.
fps Anzahl Frames/sec für die Gitternetz Animation.
returns Der Name des hinzugefügten Objektes.

AddBillBoard(width,height)
Hinzufügen einer 2D Anschlagtafel die stets vor der Kamera liegt.
width Die Breite der Anschlagtafel.
height Die Höhe der Anschlagtafel.
returns Der Name des hinzugefügten Objektes.

AddCloudySkydome()
Fügt einen Standard bewölkten SkyDome hinzu.
returns
AddCube()
Fügt ein allgemeines Würfel/Kubus Objekt hinzu.
returns Der Name des hinzugefügten Objektes.

AddDungeonMesh(gravity)
Ein Standard Quake Gitternetz hinzufügen.
gravity Die Schwerkraft des Spielers (0 für Flug, 10 für normale Anziehung).
returns Der Name des hinzugefügten Objektes.

AddFog(colour,density)
Fügt einen Nebeleffekt hinzu.
colour Die Nebelfarbe
density Die Nebeldichte.

AddLight(X,Y,Z,colour,radius)
Fügt ein Licht hinzu.
X Die X Koordinate des Lichtes.
Y Die Y Koordinate des Lichtes.
Z Die Z Koordinate des Lichtes.
colour Die Lichtfarbe.
radius Der Lichtradius.
returns Der Name des hinzugefügten Objektes.

AddMountainSkybox()
Fügt eine Standard Gebirge SkyBox hinzu.
returns
AddMountainTerrain(gravity)
Ein Standard Terrain.
gravity Die Schwerkraft des Spielers (0 für Flug, 10 für normale Anziehung).
returns Der Name des hinzugefügten Objektes.

AddNinja(colour)
Ein Standard Ninja animiertes Gitternetz Objekt.
colour "Red" oder "Blue"
returns Der Name des hinzugefügten Objektes.

AddQuakeMesh(mesh,gravity)
Eine Quake Gitternetz Datei innerhalb der Gitternetz-Datei zip hinzufügen.
mesh Die Quake Gitternetzt Datei (*.bsp)
gravity Die Schwerkraft des Spielers (0 für Flug, 10 für normale Anziehung).
returns Der Name des hinzugefügten Objektes.

AddSkybox(up,down,left,right,front,back)
Fügt eine SkyBox hinzu. 6 Bilder sind erforderlich.
up Das obere Bild.
down Das untere Bild.
left Das linke Bild.
right Das rechte Bild.
front Das vordere Bild.
back Das hintere Bild.
returns
AddSkydome(sky)
Fügt einen SkyDome hinzu.
sky Bild für den SkyDome (Die obere Bildhälfte ist über dem Horizont, die untere Hälfte darunter).
returns
AddSphere()
Fügt ein allgemeines Sphere Objekt hinzu.
returns Der Name des hinzugefügten Objektes.

AddTerrain(height,terrain,detail,gravity)
Fügt ein allgemeines Terrain hinzu.
height Ein Höhe Bitmap (*.bmp)
terrain Das Haupt Terrainbild (*.jpg).
detail Ein Detail Terrainbild (*.jpg).
gravity Die Schwerkraft des Spielers (0 für Flug, 10 für normale Anziehung).
returns Der Name des hinzugefügten Objektes.

AddZip(name)
Hinzufügen eines zip für Gitternetz Geometrieen.
name Die zip Gitternetz Datei (*.pk3)
returns
AmbientLight(colour)
Umgebungslichtstärke und Farbe (beeinflußt the Helligkeit von Objekten indirekt, beleuchtet durch Licht).
colour Die Umgebungsfarbe (Standard 'White').

AnimateCircle(name,radius,speed)
Animiert ein Objekt zum Flug in horizontalem Kreis um sein Zentrum mit dem angegebenen Radius.
name Der Objektname.
radius Der Radius der Kreisdrehung.
speed Die Rotationsgeschwindigkeit (Grad/sec).

AnimateOnTerrainRelative(name,X,Z,time)
Bewegt ein Objekt am Boden relativ zu seiner aktuellen Position.
name Der Objektname.
X Links-Rechts Position.
Z Nahe-Fern position.
time Die Animationsdauer (ms).
returns
AnimateOnTerrainTo(name,X,Z,time)
Bewegt ein Objekt am Boden zu absoluten Kooordinaten.
name Der Objektname.
X Links-Rechts Position.
Z Nahe-Fern Position.
time Die Animationsdauer (ms).
returns
AnimateRelative(name,X,Y,Z,time)
Bewegt ein Objekt relativ zu seiner aktuellen Position.
name Der Objektname.
X Links-Rechts Position.
Y Unten-Oben Position.
Z Nahe-Fern Position.
time Die Animationsdauer (ms).
returns
AnimateRotation(name,X,Y,Z)
Dreht ein Objekt kontinuierlich.
name Der Objektname.
X Rotation um die X Achse in Grad/sec.
Y Rotation um die Y Achse in Grad/sec.
Z Rotation um die Z Achse in Grad/sec.
returns
AnimateTo(name,X,Y,Z,time)
Bewegt an Objekt zu absoluten Kooordinaten.
name Der Objektname.
X Links-Rechts Position.
Y Unten-Oben Position.
Z Nahe-Fern Position.
time Die Animationsdauer (ms).
returns
Click
Ereignis welches stattfindet, wenn ein Objekt vor der Kamera per Mauszeiger angeklickt wird.
Der Objektname wird mittels ClickObject abgerufen.


ClickObject
Das zuletzt angeklickte Objekt.

Collision
Ereignis welches stattfindet wenn zwei Objekte kollidieren.
Um für dieses Ereignis mehrfaches Auslösen zu vermeiden, wird eine kurze Verzögerung (zB. 100ms) am Ende dieser Ereignis-Sub empfohlen.
Die Objektnamen werden mittels CollisionObject1 und CollisionObject2 abgerufen in der Reihenfolge in der sie hinzugefügt wurden.
Nur hinzugefügte Objekte werden erkannt, nicht zB. Kollision mit Terrain.


CollisionObject1
Das erste kollidierte Objekt.

CollisionObject2
Das zweite kollidierte Objekt.

ConsoleMessages
Ausgabe von Fehler und Warnungen an die Konsole ("True" oder "False").

GetCameraDirection()
Ermittelt die Blickrichtung der Kamera bezogen auf die Längeneinheit.
returns Array des X, Y, Z Vektors.

GetCameraPosition()
Ermittelt die Position der Kamera.
returns Array der X, Y, Z Koordinaten.

GetPosition(name)
Ermittelt die Position eines Objektes.
name Der Objektname.
returns Ein Array mit X, Y, Z Koordinaten.

GetTerrainHeight(X,Z)
Ermittelt das Bodenniveau.
X Links-Rechts Position.
Z Nahe-Fern Position.
returns Das Bodenniveau.

GetType(name)
Ermittelt einen String mit einer Beschreibung für den Objekttyp.
name Der Objektname.
returns Die Objekttyp-Beschreibung.

Remove(name)
Entfernt ein Objekt.
name Der Objektname.
returns
RemoveAnimators(name)
Entfernt alle Animationen vom Objekt.
name Der Objektname.
returns
ResetAllKeyDown()
Zurücksetzen des 'Gedrückt' Status aller Tasten auf "False".

SetCameraProperties(speed,farfield,gravity)
Setzt einige Eigenschaften der FPS Kamera.
speed Die Geschwindigkeit (Standardwert 500).
farfield Die Sichtweite im Diffusfeld (Standardwert 10000).
gravity Die Schwerkraft des Spielers (0 für Flug, 10 für normale Anziehung).

SetGlow(name,colour,radius)
Setzt einen Glüheffekt für ein Objekt.
name Der Objektname.
colour Die Glühfarbe.
radius Der Radius des Glühens.
returns
SetGravity(name,gravity)
Setzen der Schwerkraft für ein Objekt.
name Der Objektname.
gravity Die Schwerkraft des Objektes (0 für Flug, 10 für normale Anziehung).
returns
SetPosition(name,X,Y,Z)
Setzt die Position eines Objektes.
name Der Objektname.
X Links-Rechts Position.
Y Unten-Oben Position.
Z Nahe-Fern Position.
returns
SetRotation(name,X,Y,Z)
Bestimmt die Drehung eines Objektes.
name Der Objektname.
X Links-Rechts Rotation (Grad).
Y Unten-Oben Rotation (Grad).
Z Nahe-Fern Rotation (Grad).
returns
SetScale(name,X,Y,Z)
Setzt die Abmessungen für ein Objekt.
name Der Objektname.
X Links-Rechts Abmessung.
Y Unten-Oben Abmessung.
Z Nahe-Fern Abmessung.
returns
SetShininess(name,shininess)
Setzt die Größe von Glanzlichtern für ein Objekt (shininess).
name Der Objektname.
shininess Der Glanz, 20 ist ein guter Wert (0.5 bis 128).

SetTexture(name,texture)
Setzt die Textur für ein Objekt.
name Der Objektname.
texture Das Texturbild (*.bmp).
returns
SetType(name,type)
Setzt einen Beschreibungsstring für den Objekttyp zum Ersetzen des Standardwertes.
Hilfreich zur Erkennung zB. spezieller Kollisionskombinationen.

name Der Objektname.
type Die Objekttyp Beschreibung.
returns
Setup(fullScreen,colour)
Aufsetzen der 3D Umgebung (Aufruf vor allen weiteren LD3D Befehlen).
fullScreen "True" oder "False".
colour Die Hintergrund (Sky) Farbe.
returns Der Name des hinzugefügten Kameraobjektes.

SetVisible(name,visible)
Bestimmt die Sichtbarkeit eines Objektes.
name Der Objektname.
visible "True" oder "False"
returns
Start()
Startet die LD3D Irrlicht Anzeige.

Timer
Ereignis welches alle 100ms auftritt. Zur Kontrolle des Spielablaufes.

timerThread()
Den Timer Aufruf asynchron durchführen, um die Animation am Laufen zu halten und 'Clashing' zu vermeiden wenn der Aufruf vor dem nächsten Aufruf nicht beendet ist.

WasKeyDown(key)
War die genannte Taste gedrückt, seit sie zuletzt geprüft wurde.
Ein 'Taste gedrückt' Status wird nur auf "False" zurückgesetzt, nachdem er explizit mit diesem Befehl überprüft wurde oder ResetAllKeyDown() aufgerufen wurde.
Nur alphanumerische, Funktion (Fn), Leertaste, Eingabe und Umschalt/Strg Tasten werden unterstützt.

key Der Tastenname.
returns "True" oder "False"