loadPage - hoge1e3/Tonyu2 GitHub Wiki

BaseActor

loadPageメソッド

それまで動いていたオブジェクトをすべて消して、新しいページを読み込みます。

書式(1)

loadPage(Class, args, options);
  • Class には、ページオブジェクト(後述)のクラスを指定します。
  • args (省略可)には ページオブジェクトを生成するときに渡す引数を指定します。
    • optionsにオブジェクトを指定した場合,argsは省略できません.特に渡すものがない場合はundefined{}などを渡してください.
  • options(省略可)には,次のいずれかの属性をもつオブジェクトを指定します.
    • push trueを指定すると,現在のページのオブジェクトを消さず,休止状態にしてから新しいページを読み込みます.現在のページに戻るには書式(2)を参照してください.
    • pass Actorの配列を指定すると,それらのActorを読み込んだページに引き継ぎます.
    • onLoad 読み込みが完了した場合に実行される関数を指定します.

書式1には,次のような省略記法があります.

  • loadPage(Class, true)
    • loadPage(Class, undefined, {push: true})と等価
  • loadPage(Class, func)
    • loadPage(Class, undefined, {onLoad: func})と等価.funcは関数.
  • loadPage(Class, args, true)
    • loadPage(Class, args, {push: true})と等価
  • loadPage(Class, args, func)
    • loadPage(Class, args, {onLoad: func})と等価.funcは関数.

書式(2)

loadPage();

options{push: true}を指定した場合に,元のページに戻ります.

ページオブジェクトの作り方

ページオブジェクトとは、通常のオブジェクトと同じものですが、主に他のオブジェクトを生成する働きをもったオブジェクトのことを指します。

ページオブジェクトの例:

Stage1

//プレイヤーを生成
new Player{x:200,y:400};
//敵を10体生成
for (i=0 ;i<10; i++) {
   new Enemy{x:rnd(300),y:rnd(300)};
}

例えば、上で作成したStage1 をloadPageを用いて呼び出すには次のようにします:

Title

new Actor{x:230,y:50, text:"Press Space Key"};
while(true) {
  if(getkey("space")==1) loadPage(Stage1);
  update();
}

Player,Enemyは適当に実装します.

Player

p=$pat_neko;

Enemy

p=$pat_neko+48;

その他

loadPageはページを瞬間的に読み込みます.フェードアウトの効果を付ける場合はFadeEffectクラスを使用してください.