用途別リファレンス

場面間で状態を保存する

場面の切り替えで,別のページに移動して,また元のページに戻ってきたときに,プレイヤーの位置などの状態がゲームスタート時の状態にリセットされてしまうことがあります.

ページを切り替える時にloagPageの第2引数にtrueを指定すると,移動先のページでloadPage()を実行すると状態を復元させることができます.

例:

Main

new Label{text:"メインフィールド",x:100,y:100};
$player=new Player{x:200,y:200,p:$pat_neko,hp:10};
new Enemy{x:300,y:200,p:$pat_neko+45, hp:5};
new Enemy{x:350,y:200,p:$pat_neko+46, hp:20};

Player

while(true) {
    if(getkey("left")) x--;
    if(getkey("right")) x++;
    e=crashTo(Enemy);
    if (e) {//敵に触れたら
        $enemy=e;
        //戦闘画面に移動するが,trueを指定すると後で戻ってくることができる.
        loadPage(Battle,true);
        //戦闘画面から戻ってくるとここから再開
        if($win){
            e.die();
        } else {
            x-=10;  
        }
    }
    update();
}

Battle

new Label{text:"戦闘画面",x:100,y:100};
print("戦闘!");
updateEx(30);
print("相手HP: "+$enemy.hp);
updateEx(30);
if ($player.hp>$enemy.hp){
    print("勝った!");
    $win=true;
} else {
    print("負けた!");
    $win=false;
}
updateEx(60);
loadPage();//前のページに戻る.

Enemy

//中身は空でよいが,ファイルは作成する