Blender - Handbuch zur Spiel-Engine: Python Syntax und Befehle

Aus Wikibooks

Wechseln zu: Navigation, Suche


Diese Seite bezieht sich auf Blender v2.46

Die Pythonsyntax und Befehle sind recht einfach. Da es bei Wikibooks bereits eine Pythondokumentation gibt, möchte ich nur kurz das wichtigste erklären.

Inhaltsverzeichnis

[Bearbeiten] Aktivieren des Skriptes

Um das Skript zu aktivieren brauchen wir einen Pythoncontroller, der mit einem Always-Sensor verbunden ist. Im Controller wird nun der Name des Skriptes eingetragen, welches ihr im Texteditor schreibt. Drückt ihr nun [P] startet das Spiel und das Ergebnis des Skriptes könnt ihr euch in der Konsole ansehen.

[Bearbeiten] Zu Beachten

Python benötigt kein Zeichen wie Semikolon am Ende einer Zeile, allein der Zeilenumbruch genügt um das Ende einer Zeile zu definieren. Zeileneinrückungen dürfen allerdings nicht willkürlich vorgenommen werden, da man sonst eine Fehlermeldung erhält. Man muss Variablen auch nicht vorneweg deklarieren, sondern kann sie, wo immer man möchte einfügen und mit Werten Füttern. Kommentare kann man hinter einem Rautesymbol [#] verfassen, welche bis zum Ende der Zeile gültig sind. Anhand folgenden Codes kann man einige Eigenschaften der Sprache gut erkennen:

Variable1 = 3

Variable2 = 5

print Variable1+Variable2

Die wichtigsten mathematischen Operatoren sind "+"(Addition), "-"(Subtraktion), "*"(Multiplikation) und "/"(Division). Der "print"-Befehl gibt den dahinter genannten Wert oder das hinter ihm genannte Ergenis einer Rechnung in der Blender-Konsole aus. Im Beispielcode wird zuerst zwei Variablen ein Wert zugewiesen, diese werden dann in der "print"-Anweisung addiert.

[Bearbeiten] Variablen

Python kann mit den Variablentypen Float(Gleitkommazahl), Integer(Natürliche Zahl) und String(Zeichenkette) umgehen. Außerdem stehen uns Listen und Tupel zur Verfügung, was folgender Beispielcode zeigt:

liste = [1,2,3]
tupel = (1,2,3)
ergebnis = liste[2]*tupel[2]
 
print ergebnis

Der Unterschied zwischen Listen und Tupeln ist, dass man Tupeln NUR lesen und nicht wie Listen schreiben kann. Die verschiedenen Werte einer solchen Liste oder eines Tupels erhält man über einen Index. Wie im Code zu sehen, erreicht man einen einzelnen Wert, indem man eckige Klammer mit einer Zahl (0 ist der erste Wert der Liste oder des Tupels, 1 der Zweite, 2 der Dritte usw.) direkt hinter den Variablennamen setzt.
Möchte man einen bestimmten Wert einer Liste beschreiben, funktioniert es genauso.

[Bearbeiten] Vergleichsoperatoren

Des weiteren existieren folgende Vergleichsoperatoren, die aber erst bei Bedingungsabfragen interessant werden:

"<" kleiner;

">" größer;
"<=" kleiner oder gleich;
"=>" größer oder gleich;
"==" gleich;
"!=" ungleich;

[Bearbeiten] Bedingunsabfragen und Schleifen

Bei einer Bedingungsabfrage wird ein Befehl erst ausgeführt, wenn, wie der Name sagt, Bedingungen erfüllt sind. Hier ein Beispiel mit einer if-then-else Schleife:

Wert1 = 3

Wert2 = 3
if Wert1 == Wert2:

print "stimmt"

else:

print "stimmt nicht"

Sehr wichtig ist der Doppelpunkt nach der Bedingung und die Einrückung der Anweisung. Mit "and", "not" und "or" kann man verschiedene Bedingungen in Beziehung stellen. Das Letzte, das ich jetzt noch schnell vorstellen möchte, ist die for i Schleife. Mit ihr kann man einen Vorgang wiederholen, der sonst jedesmal eizeln programmiert werden müsste. Doch erstmal ein Beispiel:

[Bearbeiten] Die for i Schleife

Nun möchte ich noch eine Schleife vorstellen, die oft benutzt wird, wenn bestimmte Dinge wiederholt werden sollen. Sie heißt "for i Schleife".

for i in range(8):
print i
print "hallo"

Hier werden die eingerückten Befehle sooft ausgeführt, wie es die Zahl in der Klammer von "range()" vorschreibt. Bei jedem Durchlauf wird i um eins erhöht und in der Konsole mit dem Wort "hallo" ausgegeben.

[Bearbeiten] Schluss

Mit diesem Wissen können wir nun anfangen, Python für unsere Spieleprogrammierung zu nutzen.


Persönliche Werkzeuge