Class enchant.Core
Klasse, welche die Spielschleife und Szenen kontrolliert. Es kann immer nur eine Instanz geben und sollte der Konstruktor ausgeführt werden, obwohl bereits eine Instanz existiert, wird die vorherige Instanz überschrieben. Auf die aktuell existierende Instanz kann über die enchant.Core.instance Variable zugegriffen werden.
- Defined in: enchant.js
- Extends enchant.EventTarget
Constructor Attributes | Constructor Name and Description |
---|---|
enchant.Core(width, height)
|
Field Attributes | Field Name and Description |
---|---|
Geladene Objekte werden unter dem Pfad als Schlüssel in diesem Objekt abgelegt.
|
|
Die aktuell dargestellte Szene.
|
|
Frame Rate des Spieles.
|
|
Anzahl der Frames seit dem Spielestart.
|
|
Höhe des Spieles.
|
|
Objekt, welches den aktuellen Eingabestatus des Spieles speichert.
|
|
<static> |
enchant.Core.instance
Die aktuelle Instanz des Spieles.
|
Die Szene, welche während des Ladevorgangs dargestellt wird.
|
|
Zeigt an ob das Spiel ausgeführt werden kann.
|
|
Die Ursprungsszene.
|
|
Zeigt an ob das Spiel derzeit ausgeführt wird.
|
|
Skalierung der Spieldarstellung.
|
|
Breite des Spieles.
|
Method Summary
Method Attributes | Method Name and Description |
---|---|
debug()
Startet den Debug-Modus des Spieles.
|
|
<static> |
enchant.Core.findExt(path)
|
Liefert die vergange Spielzeit (keine reale) die seit dem Aufruf von enchant.Core#start
vergangen ist.
|
|
<static> |
enchant.Core.initialize(array)
|
keybind(key, button)
Bindet eine Taste.
|
|
keyunbind(key)
Entbindet eine Taste.
|
|
load(src, alias, callback, onerror)
Laden von Dateien.
|
|
pause()
Stoppt das Spiel.
|
|
popScene()
Beendet die aktuelle Szene und wechselt zu der vorherigen Szene.
|
|
preload(assets)
Lässt Dateien im voraus laden.
|
|
pushScene(scene)
Wechselt zu einer neuen Szene.
|
|
removeScene(scene)
Entfernt eine Szene.
|
|
replaceScene(scene)
Ersetzt die aktuelle Szene durch eine neue Szene.
|
|
resume()
Setzt die Ausführung des Spieles fort.
|
|
start(deferred)
Starte das Spiel
Je nach der Frame Rate definiert in enchant.Core#fps, wird der Frame in der
enchant.Core#currentScene aktualisiert.
|
|
stop()
Stoppt das Spiel.
|
|
transitionPush(inScene)
|
- Methods borrowed from class enchant.EventTarget:
- addEventListener
- clearEventListener
- dispatchEvent
- on
- removeEventListener
Class Detail
enchant.Core(width, height)
- Parameters:
- {Number} width Optional, Default: 320
- Die Breite des Spieles.
- {Number} height Optional, Default: 320
- Die Höhe des Spieles.
Field Detail
{Object}
assets
Geladene Objekte werden unter dem Pfad als Schlüssel in diesem Objekt abgelegt.
{enchant.Scene}
currentScene
Die aktuell dargestellte Szene.
Diese Szene befindet sich oben auf dem Stapelspeicher.
{Number}
fps
Frame Rate des Spieles.
{Number}
frame
Anzahl der Frames seit dem Spielestart.
{Number}
height
Höhe des Spieles.
{Object}
input
Objekt, welches den aktuellen Eingabestatus des Spieles speichert.
Die aktuelle Instanz des Spieles.
{enchant.Scene}
loadingScene
Die Szene, welche während des Ladevorgangs dargestellt wird.
{Boolean}
ready
Zeigt an ob das Spiel ausgeführt werden kann.
{enchant.Scene}
rootScene
Die Ursprungsszene.
Diese Szene befindet sich unten auf dem Stapelspeicher.
{Boolean}
running
Zeigt an ob das Spiel derzeit ausgeführt wird.
{Number}
scale
Skalierung der Spieldarstellung.
{Number}
width
Breite des Spieles.
Method Detail
-
{enchant.Deferred} debug()Startet den Debug-Modus des Spieles. Auch wenn die enchant.Core#_debug Variable gesetzt ist, kann der Debug-Modus gestartet werden.
- Returns:
- {enchant.Deferred}
-
<static> {*} enchant.Core.findExt(path)
- Parameters:
- {String} path
- Returns:
- {*}
-
{Number} getElapsedTime()Liefert die vergange Spielzeit (keine reale) die seit dem Aufruf von enchant.Core#start vergangen ist.
- Returns:
- {Number} Die vergangene Zeit (Sekunden)
-
<static> enchant.Core.initialize(array)
Defined in: widget.enchant.js.- Parameters:
- array
-
{enchant.Core} keybind(key, button)Bindet eine Taste.
- Parameters:
- {Number} key
- Der Tastencode der Taste die gebunden werden soll.
- {String} button
- Der enchant.js Knopf (left, right, up, down, a, b).
- Returns:
- {enchant.Core} this
-
{enchant.Core} keyunbind(key)Entbindet eine Taste.
- Parameters:
- {Number} key
- Der Tastencode der entfernt werden soll.
- Returns:
- {enchant.Core} this
-
{enchant.Deferred} load(src, alias, callback, onerror)Laden von Dateien.
- Parameters:
- {String} src
- Pfad zu der Datei die geladen werden soll.
- {String} alias Optional
- {Function} callback Optional
- Funktion die ausgeführt wird wenn das laden abgeschlossen wurde.
- {Function} onerror Optional
- Returns:
- {enchant.Deferred}
-
pause()Stoppt das Spiel. Der Frame wird nicht mehr aktualisiert und Spielereingaben werden nicht mehr akzeptiert. Das spiel kann mit der enchant.Core#resume Methode erneut gestartet werden.
-
{enchant.Scene} popScene()Beendet die aktuelle Szene und wechselt zu der vorherigen Szene. Szenen werden durch einen Stapelspeicher kontrolliert und die Darstellungsreihenfolge folgt ebenfalls der Ordnung des Stapelspeichers. Wenn die enchant.Core#popScene Methode ausgeführt wird, wird die Szene oben auf dem Stapelspeicher entfernt und liefert diese als Rückgabewert.
- Returns:
- {enchant.Scene} Die Szene, die beendet wurde.
-
{enchant.Core} preload(assets)Lässt Dateien im voraus laden. Diese Methode setzt die Dateien die im voraus geladen werden sollen. Wenn enchant.Core#start aufgerufen wird, findet das tatsächliche laden der Resource statt. Sollten alle Dateien vollständig geladen sein, wird ein enchant.Event.LOAD Ereignis auf dem Core Objekt ausgelöst. Abhängig von den Dateien die geladen werden sollen, werden unterschiedliche Objekte erstellt und in dem enchant.Core#assets Feld gespeichert. Falls ein Bild geladen wird, wird ein enchant.Surface Objekt erstellt. Wenn es eine Ton Datei ist, wird ein enchant.Sound Objekt erstellt. Ansonsten kann auf die Datei über einen String zugegriffen werden. Da die Surface Objekte mittels enchant.Surface.load erstellt werden ist zusätlich ist zu beachten, dass eine direkte Objektmanipulation nicht möglich ist. Für diesen Fall ist auf die enchant.Surface.load Dokumentation zu verweisen.
core.preload('player.gif'); core.onload = function() { var sprite = new Sprite(32, 32); sprite.image = core.assets['player.gif']; // zugriff mittels Dateipfades ... }; core.start();
- Parameters:
- {...String|String[]} assets
- Pfade zu den Dateien die im voraus geladen werden sollen. Mehrfachangaben möglich.
- Returns:
- {enchant.Core} this
-
{enchant.Scene} pushScene(scene)Wechselt zu einer neuen Szene. Szenen werden durch einen Stapelspeicher kontrolliert und die Darstellungsreihenfolge folgt ebenfalls der Ordnung des Stapelspeichers. Wenn die enchant.Core#pushScene Methode ausgeführt wird, wird die Szene auf dem Stapelspeicher oben abgelegt. Der Frame wird immer in der Szene ganz oben auf dem Stapelspeicher aktualisiert.
- Parameters:
- {enchant.Scene} scene
- Die neue Szene zu der gewechselt werden soll.
- Returns:
- {enchant.Scene} Die neue Szene.
-
{enchant.Scene} removeScene(scene)Entfernt eine Szene. Entfernt eine Szene aus dem Szenen-Stapelspeicher.
- Parameters:
- {enchant.Scene} scene
- Die Szene die entfernt werden soll.
- Returns:
- {enchant.Scene} Die entfernte Szene.
-
{enchant.Scene} replaceScene(scene)Ersetzt die aktuelle Szene durch eine neue Szene. enchant.Core#popScene, enchant.Core#pushScene werden nacheinander ausgeführt um die aktuelle Szene durch die neue zu ersetzen.
- Parameters:
- {enchant.Scene} scene
- Die neue Szene, welche die aktuelle Szene ersetzen wird.
- Returns:
- {enchant.Scene} Die neue Szene.
-
resume()Setzt die Ausführung des Spieles fort.
-
{enchant.Deferred} start(deferred)Starte das Spiel Je nach der Frame Rate definiert in enchant.Core#fps, wird der Frame in der enchant.Core#currentScene aktualisiert. Sollten Dateien die im voraus geladen werden sollen vorhanden sein, beginnt das laden dieser Dateien und der Ladebildschirm wird dargestellt.
- Parameters:
- deferred
- Returns:
- {enchant.Deferred}
-
stop()Stoppt das Spiel. Der Frame wird nicht mehr aktualisiert und Spielereingaben werden nicht mehr akzeptiert. Das spiel kann mit der enchant.Core#resume Methode erneut gestartet werden.
-
transitionPop()
Defined in: widget.enchant.js.- Requires:
- widget.enchant.js
-
transitionPush(inScene)
Defined in: widget.enchant.js.- Parameters:
- inScene
- Requires:
- widget.enchant.js