用途別リファレンス

場面間で状態を保存する

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

ページを切り替える前に状態をグローバル変数に保存しておき,元のページに戻ったときに状態を復元させることでこの問題を解決できます.

例:

Main

$player_x=100;
loadPage(Field);

Field

new Player;

Player

// $player_xからxを復元
x=$player_x;
y=200;
while(true) {
    if(getkey("left")) x--;
    if(getkey("right")) x++;
    if (getkey("space")==1) {
        // $player_xに値を保存
        $player_x=x;
        loadPage(Battle);
    }
    update();
}

Battle

new Label{text:"Battle", x:100, y:100};
updateEx(60);
loadPage(Field);