気ままなタンス*プログラミングなどのノートブック

プログラミングやRPGツクール、DTM、VOCALOIDについてのんびり書きます。

【メモ】楽しいenchant.js-part02

ゲームオブジェクト

  • ゲームオブジェクトはfpsを持っている
    • Game(width, height)
    • 単位時間あたりにいくつフレームが処理されるかを示す値
    • フレームとは、映像のコマ
  • 16fpsならば1秒間に16フレーム
  • addEventListener(Event.ENTER_FRAME, function() {})で設定する定期処理関数 を1秒間に16回呼ぶという意味になる

ラベル

  • Label
  • var label = new Label(text);
  • プロパティ
    • color 文字色
    • font フォントの指定
    • text 表示するテキスト

描画オブジェクト

  • Nodeオブジェクト
    • xプロパティ ノードのx座標
    • yプロパティ ノードのy座標
    • moveBy(x, y)
      • ノードを移動する:移動するx軸、y軸
    • moveTo(x, y)
      • ノードを移動する:移動先のx座標、y座標

継承ツリー

enchant.jsのオブジェクトの継承ツリー (ゼロからはじめるenchant.js入門:2013/04/05発行)

`EventTarget
|
 `Game
     |
      `Node
         |
         |--Entity
         |   |-- Sprite
         |   |-- Label
         |   `-- Map
         |
         |--Group
         |   `-- Scene
         |
         `--Surface

シーンの処理

ラベルを画面に表示する処理を例に考える

ラベルを表示するには、表示オブジェクトツリーにラベルを追加する必要がある。 表示オブジェクトツリーは、シーンがルートになる。 シーン(Scene)は、スプライト、ラベル、マップ、グループなどの描画オブジェクトを貼り付けられる 画面の単位である。 一つのゲームに複数のシーンを持つことができる。

一番はじめに表示するものをルートシーンと呼ぶ

  • Scene

    • rootScene ルートシーン
    • currentScene 現在のシーン
  • Groupオブジェクトのメソッド(※Sceneで利用可能)

    • addChild(node)
    • insertBefore(node, reference)
    • removeChild(node)

定期処理

  • addEventListener(type, listener)
    • イベントリスナーを追加
    • {String} type {function (e:enchant.Event)} listener
  • removeEventListener(type, listener)

  • 代表的なイベントタイプ

    • Event.ENTER_FRAME フレーム開始時に発生するイベント (Game, Node)
    • Event.INPUT_CHANGE ボタン入力が変化したときに発生するイベント(Game, Scene)
    • Event.LOAD Gameのロード完了時に発生するイベント
    • Event.PROGRESS Gameのロード進行時に発生するイベント
    • Event.REMOVED NodeがGroupから削除されたときに発生するイベント(Node)