Class enchant.Core
アプリケーションのメインループ, シーンを管理するクラス. インスタンスは一つしか存在することができず, すでにインスタンスが存在する状態で コンストラクタを実行した場合既存のものが上書きされる. 存在するインスタンスには enchant.Core.instance からアクセスできる.
- Defined in: enchant.js
- Extends enchant.EventTarget
Constructor Attributes | Constructor Name and Description |
---|---|
enchant.Core(width, height)
|
Field Attributes | Field Name and Description |
---|---|
ロードされた画像をパスをキーとして保存するオブジェクト.
|
|
現在のScene.
|
|
フレームレート.
|
|
アプリの開始からのフレーム数.
|
|
画面の高さ.
|
|
アプリに対する入力状態を保存するオブジェクト.
|
|
<static> |
enchant.Core.instance
現在のCoreインスタンス.
|
ローディング時に表示されるScene.
|
|
アプリが実行可能な状態かどうか.
|
|
ルートScene.
|
|
アプリが実行状態かどうか.
|
|
画面の表示倍率.
|
|
画面の横幅.
|
Method Summary
Method Attributes | Method Name and Description |
---|---|
debug()
アプリをデバッグモードで開始する.
|
|
<static> |
enchant.Core.findExt(path)
ファイルパスを取り, 拡張子を返す.
|
Core#startが呼ばれてから経過した時間を取得する.
|
|
keybind(key, button)
キーバインドを設定する.
|
|
keyunbind(key)
キーバインドを削除する.
|
|
load(src, alias, callback, onerror)
ファイルのロードを行う.
|
|
pause()
アプリを一時停止する.
|
|
popScene()
現在のSceneを終了させ前のSceneに戻る.
|
|
preload(assets)
ファイルのプリロードを行う.
|
|
pushScene(scene)
新しいSceneに移行する.
|
|
removeScene(scene)
Sceneを削除する.
|
|
replaceScene(scene)
現在のSceneを別のSceneにおきかえる.
|
|
resume()
アプリを再開する.
|
|
start(deferred)
アプリを起動する.
|
|
stop()
アプリを停止する.
|
- Methods borrowed from class enchant.EventTarget:
- addEventListener
- clearEventListener
- dispatchEvent
- on
- removeEventListener
Class Detail
enchant.Core(width, height)
- Parameters:
- {Number} width Optional, Default: 320
- 画面の横幅.
- {Number} height Optional, Default: 320
- 画面の高さ.
Field Detail
{Object}
assets
ロードされた画像をパスをキーとして保存するオブジェクト.
{enchant.Scene}
currentScene
現在のScene. Sceneスタック中の一番上のScene.
{Number}
fps
フレームレート.
{Number}
frame
アプリの開始からのフレーム数.
{Number}
height
画面の高さ.
{Object}
input
アプリに対する入力状態を保存するオブジェクト.
現在のCoreインスタンス.
{enchant.Scene}
loadingScene
ローディング時に表示されるScene.
{Boolean}
ready
アプリが実行可能な状態かどうか.
{enchant.Scene}
rootScene
ルートScene. Sceneスタック中の一番下のScene.
{Boolean}
running
アプリが実行状態かどうか.
{Number}
scale
画面の表示倍率.
{Number}
width
画面の横幅.
Method Detail
-
{enchant.Deferred} debug()アプリをデバッグモードで開始する. enchant.Core#_debug フラグを true にすることでもデバッグモードをオンにすることができる
- Returns:
- {enchant.Deferred} ローディング画面終了後に起動するDeferredオブジェクト.
-
<static> {*} enchant.Core.findExt(path)ファイルパスを取り, 拡張子を返す.
- Parameters:
- {String} path
- ファイルパス.
- Returns:
- {*}
-
{Number} getElapsedTime()Core#startが呼ばれてから経過した時間を取得する.
- Returns:
- {Number} 経過した時間 (秒)
-
{enchant.Core} keybind(key, button)キーバインドを設定する.
- Parameters:
- {Number} key
- キーバインドを設定するキーコード.
- {String} button
- 割り当てるボタン.
- Returns:
- {enchant.Core} this
-
{enchant.Core} keyunbind(key)キーバインドを削除する.
- Parameters:
- {Number} key
- 削除するキーコード.
- Returns:
- {enchant.Core} this
-
{enchant.Deferred} load(src, alias, callback, onerror)ファイルのロードを行う.
- Parameters:
- {String} src
- ロードするファイルのパス.
- {String} alias Optional
- ロードするファイルに設定したい名前.
- {Function} callback Optional
- ファイルのロードが完了したときに呼び出される関数.
- {Function} onerror Optional
- ファイルのロードに失敗したときに呼び出される関数.
- Returns:
- {enchant.Deferred} ファイル読み込み後に起動するDeferredオブジェクト.
-
pause()アプリを一時停止する. フレームは更新されず, ユーザの入力は受け付ける. enchant.Core#resume で再開できる.
-
{enchant.Scene} popScene()現在のSceneを終了させ前のSceneに戻る. Sceneはスタック状に管理されており, 表示順序もスタックに積み上げられた順に従う. enchant.Core#popSceneを行うとスタックの一番上のSceneを取り出すことができる.
- Returns:
- {enchant.Scene} 終了させたScene.
-
{enchant.Core} preload(assets)ファイルのプリロードを行う. プリロードを行うよう設定されたファイルは enchant.Core#start が実行されるとき ロードが行われる. 全てのファイルのロードが完了したときはCoreオブジェクトからload イベントが発行され, Coreオブジェクトのassetsプロパティから画像ファイルの場合は Surfaceオブジェクトとして, 音声ファイルの場合はSoundオブジェクトとして, その他の場合は文字列としてアクセスできるようになる. なおこのSurfaceオブジェクトは enchant.Surface.load を使って作成されたものである ため直接画像操作を行うことはできない. enchant.Surface.loadの項を参照.
core.preload('player.gif'); core.onload = function() { var sprite = new Sprite(32, 32); sprite.image = core.assets['player.gif']; // パス名でアクセス ... }; core.start();
- Parameters:
- {...String|String[]} assets
- プリロードするファイルのパス. 複数指定できる.
- Returns:
- {enchant.Core} this
-
{enchant.Scene} pushScene(scene)新しいSceneに移行する. Sceneはスタック状に管理されており, 表示順序もスタックに積み上げられた順に従う. enchant.Core#pushSceneを行うとSceneをスタックの一番上に積むことができる. スタックの 一番上のSceneに対してはフレームの更新が行われる.
- Parameters:
- {enchant.Scene} scene
- 移行する新しいScene.
- Returns:
- {enchant.Scene} 新しいScene.
-
{enchant.Scene} removeScene(scene)Sceneを削除する. Sceneスタック中からSceneを削除する.
- Parameters:
- {enchant.Scene} scene
- 削除するScene.
- Returns:
- {enchant.Scene} 削除したScene.
-
{enchant.Scene} replaceScene(scene)現在のSceneを別のSceneにおきかえる. enchant.Core#popScene, enchant.Core#pushSceneを同時に行う.
- Parameters:
- {enchant.Scene} scene
- おきかえるScene.
- Returns:
- {enchant.Scene} 新しいScene.
-
resume()アプリを再開する.
-
{enchant.Deferred} start(deferred)アプリを起動する. enchant.Core#fpsで設定されたフレームレートに従って enchant.Core#currentScene の フレームの更新が行われるようになる. プリロードする画像が存在する場合はロードが 始まりローディング画面が表示される.
- Parameters:
- deferred
- Returns:
- {enchant.Deferred} ローディング画面終了後に起動するDeferredオブジェクト.
-
stop()アプリを停止する. フレームは更新されず, ユーザの入力も受け付けなくなる. enchant.Core#resume で再開できる.