API Docs for: 0.0.1

Class handyGraphic.Scene

Class defined in: handyGraphic.js:1031

Scene オブジェクトは,描画単位を論理的に分割するためのものです.

ゲームやアニメーションなどを作成する場合は,描画処理が複雑になり,また規模も大きくなります. Scene オブジェクトを使うことで,描画処理をシーン単位で分割することで管理がしやすくなります. 例えば,ゲームを作成する場合は,タイトル画面,プレイ画面,スコア画面などの単位に分割することが考えられます. 当然のことながら,Scene オブジェクトは複数作成することができます.

シーン間の画面遷移や,アニメーションなどはScene オブジェクトの機能を使うことで簡単に実現できます. 画面遷移はnextSceneメソッド,アニメーションはupdateメソッドを利用します.

また,Scene オブジェクト作成時に,シーン内変数などを宣言することができます. これは,シーン内だけで必要な変数を宣言する場合や,アニメーションなどを実現する場合に有用です.

handyGraphic.Scene( args )
handyGraphic.js:1031
Parameters:
  • args <Object>

    シーン内に定義する変数

Example
var scene1 = new Scene({t : 0}); // 引数でシーン内変数を宣言する
scene1.awake = function () {
    this.t = 0; // 起動時の処理
};
scene1.update = function () {
    this.t += 1; // 更新処理
    if (this.t >= 200) {
       this.nextScene(scene2); // シーン遷移
    }
};
scene1.draw = function () {
    Hg.Clear();
    Hg.Box(this.t, this.t, 5, 5); 
};
scene1.start(); // シーンの起動
awake( )
handyGraphic.js:1088

シーンの起動時に実行されるメソッド. 初期化処理など,起動時に1度だけ実行する必要がある処理を記述する

Example
var scene1 = new Scene({t : 0});
scene1.awake = function () {
    // 起動時の処理を記述する
    this.t = 0; // シーン内の変数の初期化など
}
draw( )
handyGraphic.js:1122

描画処理を記述するメソッド. 現在のシーンとして表示される情報を記述する

Example
var scene1 = new Scene();
scene1.draw = function () {
    // 描画処理を記述する
    Hg.Clear();
    Hg.Box(10, 10, 5, 5); 
}
exit( )
handyGraphic.js:1163

シーンを終了するメソッド. このメソッドを実行することでシーンが終了する.

Example
scene1.exit(); // シーンの終了
nextScene( _nextScene )
handyGraphic.js:1176

シーンを遷移するメソッド. 現在のシーンを終了し,引数で与えられたシーンを開始する.

Parameters:
  • _nextScene <Object>

    遷移先シーン

Example
var scene1 = new Scene(); // 最初のシーン
var scene2 = new Scene(); // 遷移先のシーン
scene1.update = function () {
    if (シーンの遷移条件) {
       this.nextScene(scene2); // シーン遷移
    }
};
scene1.start(); // シーンの起動
start( )
handyGraphic.js:1146

シーンの起動を行うメソッド. このメソッドを実行することでシーンが開始される.

Example
var scene1 = new Scene();
// シーンの設定を記述する
scene1.start(); // シーンの起動
update( )
handyGraphic.js:1105

ワンフレーム毎に実行されるメソッド. 座標の更新,条件判定,シーンの移動判定などを記述する

Example
var scene1 = new Scene({t : 0});
scene1.update = function () {
    // 変数などの更新処理を記述する
    this.t += 1; // 更新処理
}