top of page
  • 執筆者の写真fhlabo

ステージの切替 フラグ処理


今回はスクラッチでステージを切り替えるときのプログラミングについて書きたいと思います。


マリオなどのアクションゲームでマップをクリアしたり、特別な動作をすると次のマップに移動します。今回はスクラッチでこの切替を行いたいと思います。


いきなりマップを切り替えるプログラミングをしなさいと言われてもすぐにはできません。


まずは私たちが生活している現実の中でマップが切り替わるときという状況を考えてみましょう。


例えば『家の中に入る』などです。


みなさんが『外から家の中に入る』という動作を行うときにある場所を通ると思います。


このある場所とは『玄関』のことです。


外 ⇒ 玄関 ⇒ 家の中


動作を単純化すると上記のように分解できると思います。


これを今から作成するプログラムに当てはめてみます。


マップ1 ⇒ 玄関 ⇒ マップ2


このように置き換えると『玄関』を目印にしてマップ1からマップ2に切り替わります。


『もし』『玄関を通ったら』『マップ2に替わる』ということです。



画像の『スプライト1に触れたら』の部分が『玄関を通ったら』だと考えて下さい。


では次の処理を考えてみましょう。


『もし~』の中にはマップを変えるスクリプトを入れなければなりません。

スクラッチ1.4のスプライトに関する『見た目』の中には背景を変更するスクリプトはありません。

(スクラッチ2.0にはあります)


ではどうすればいいでしょうか。


『背景』を変更するスクリプトを持っているのはステージです。


ステージに「私は今、玄関を通りました」という合図を送ってあげることでステージに背景を変更してもらいます。


この合図のことをプログラミングでは『フラグ』と言います。VB.NETやJAVAなど多くのプログラミングで使われる手法です。


スクラッチでは『~を送る』というスクリプトになります。



画像のようにスプライトに対してプログラミングをします。











ステージ側でも受け取れるようになります。

この『フラグ』を使用するこでステージ側では『合図を送られたとき』だけ処理を行うことができます。








『フラグ』は『条件分岐』と組み合わせて使用することが大変多いです。

プログラミングをするとき、物事を単純化した際にこの『フラグ』で簡単に処理ができないか考えてみて下さいね。


今回プログラミングしたものはスクラッチサンプルにアップしてあります。











最新記事

すべて表示

スーパーとプログラミング的思考

本日はあるアンケートを行った結果について書きたいと思います。 今月の中旬にとあるスーパーであるアンケートを実施させて頂きました。 そのアンケートの内容は 『スーパーで買い物をするときにまわる順番は決めているか』 というものです。 今回、このアンケートに回答して下さった方は約80名です。 結果ですが... 9割の方が『まわる順番を決めている』と回答されました。 上記のように回答された方の回答理由で一

bottom of page