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);
}
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; // 更新処理
}