Blender - Handbuch zur Spiel-Engine: Python GameLogic

Erklärung Bearbeiten

Im Folgenden sind alle Funktionen des Modules GameLogic geordnet aufgelistet. Es ist jeweils eine Beschreibung und ein Beipielcode zugeordnet. Am Ende der Aufzählung der Befehle aller Module wird ein ausführliches Beispiel für die Verwendung sein.

Importieren des Moduls GameLogic Bearbeiten

Mit der Importierung erhält man Zugriff auf die Befehle des Moduls. Die gängigste Methode sieht so aus:

import GameLogic as gl

Dabei ist gl eine beliebige Variable, in der das Modul abgespeichert wird. Dieses ist der "Kopf", der fast jedem Pythonprogramm in Blender vorangeht.

Die folgende Version macht alle Funktionen direkt verfügbar. Dadurch muss man nicht immer den Modulnamen vor die benutzte Funktion schreiben:

from GameLogic import *

Das sollte aber nur für die Entwicklungszeit genutzt werden, da dies allgemein als nicht "schön" angesehen wird.

Die Szene Bearbeiten

Mit der Einbindung der Szene hat man Zugriff auf die Objekt- und Lichtliste.
Befehl:

.getCurrentScene()

Beispielcode:

import GameLogic as gl

Szene = gl.getCurrentScene()

Objektliste Bearbeiten

Gibt alle Objekte der Szene in einer Liste aus. Befehl:

.getObjectList()

Beispielcode:

import GameLogic as gl

Szene = gl.getCurrentScene()
ObjListe = Szene.getObjectList()

Lichtliste Bearbeiten

Gibt alle Lichtobjekte der Szene in einer Liste aus. Befehl:

.getLightList()

Beispielcode:

import GameLogic as gl

Szene = gl.getCurrentScene()
LightList = Szene.getLightList()

Name der Szene Bearbeiten

Gibt den Namen der Szene als String aus. Befehl:

.getName()

Beispielcode:

import GameLogic as gl

Szene = gl.getCurrentScene()
Name = Szene.getName()

Der Controller Bearbeiten

Der Controller ist im Prinzip die Schaltzentrale des Logiksystems in der Blender-GE. Mit im kann man Bedingungen bestimmten Aktionen zuordnen, oder komplexe Wenn-Dann Strukturen entwerfen. Auch beim Blender-GE-Programmieren mit Python spielt er eine wichtige Rolle, da man nur mit Zugriff auf einen Controller die Sensoren und Actuatoren verwalten kann.
Befehl:

.getCurrentController()

Beispielcode:

import GameLogic as gl

con = gl.getCurrentController()

Die Sensoren Bearbeiten

Um auf die Sensoren Zugriff zu haben, gibt es zwei mögliche Befehle. Mit dem einen spricht man direkt einen bestimmten Sensor über seinen Namen an.
Befehl:

.getSensor("Name des Sensors")

Beispielcode:

import GameLogic as gl

con = gl.getCurrentController()
sensor = con.getSensor("sensor1")

Mit dem anderen Befehl erhält man alle Sensoren in einer Liste und kann auf diese dann per Index zugreifen.
Befehl:

.getSensors()

Beispielcode:

import GameLogic as gl

con = gl.getCurrentController()
SensorList = con.getSensors()
Sensor1 = SensorList[0]

Möchte man einen Sensor nun abfragen, ob er positiv ist, geht das so:
Befehl:

.isPositive()

Beispielcode:

import GameLogic as gl

con = gl.getCurrentController()
SensorList = con.getSensors()
Sensor1 = SensorList[0]
if Sensor1.isPositive():
    print "positiv"