Cocos2d ist ein freies (BSD-Lizenz) Framework für die Spieleentwicklung, das es für diverse Plattformen und Sprachen gibt, zum Beispiel für Objektive-C/Swift und JavaScript, aber eben auch für Python, wobei die Python-Implementierung sogar die erste Implementierung dieses Frameworks war. Ich hatte das Framework vor Jahren schon einmal im Fokus, aber dann aus den Augen verloren. Nun war mir aber jüngst das Buch »Python Game Programming by Example« untergekommen und darin sind drei (von sieben) Kapitel diesem Framework gewidmet. Und so bekam ich Lust, damit ein wenig herumzuspielen. Die Installation war einfach, mit
pip install cocos2d
wurde nicht nur dieses Framework, sondern gleich auch PyGlet mit installiert, denn Cocos2d (Python) setzt auf PyGlet auf.
Mein Ziel war, erst einmal ein sauberes »Hallo Welt«-Beispiel auf meinen Monitor zu bringen, das dann Schritt für Schritt ausgebaut werden kann und mit dem ich dann die einzelnen Module dieses Frameworks kennenlerne. Hier ist dieses Bare bones Cocos2d Skeleton:
import cocos
from cocos.director import director
from cocos.scene import Scene
from cocos.text import Label
from cocos.layer import Layer
class HelloWorld(Layer):
def __init__(self):
super(HelloWorld, self).__init__()
hello_world_label = Label(
"Hallo Jörg!",
font_name = "Times New Roman",
font_size = 32,
anchor_x = 'center',
anchor_y = 'center'
)
hello_world_label.position = 160, 120
self.add(hello_world_label)
def main():
director.init(caption = "Hello World!", width = 320, height = 240)
scene = Scene(HelloWorld())
director.run(scene)
if __name__ == "__main__":
main()
Man sieht hier schon, wie die einzelnen Klassen in Cocos2d voneinander abhängig sind: Eine Scene
enthält mindestens einen Layer
, der dann die Objekte (in diesem einfachen Fall nur ein Label
) enthält. Und der director
– wie könnte es anders sein – überwacht und kontrolliert das Ganze. Deswegen kann es hier auch nur einen geben.
Diese Struktur ist in allen Cocos2d-Dialekten gegeben, das heißt, wenn man mit der Python-Version vertraut ist, fällt einem der Umstieg auf die JavaScript-Version auch nicht mehr so schwer. Das ist ein wenig so wie in Processing (Java, Python, JavaScript) und es gibt auch ein schönes Buch zur JavaScript-Version von Cocos2d, das ich Interessierten guten Gewissens empfehlen kann. Aber ich will mich zuerst einmal mit der Python-Version von Cocos2d weiter vertraut machen und daher wird es in Kürze sicher weitere Tutorials hier im Schockwellenreiter geben.
Über …
Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!
Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.
Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.
Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes
von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.
Werbung