PR
↑ここからAmazonで買い物してくれると更新頑張れますww
CF2.5 1章8節・タイトル画面・ゲームーオーバー画面を作る
前の講座 次の講座
さて、今のままだと起動してすぐにメイン部分が始まってしまいますので、
始まる前にタイトル画面、自機がやられた時にゲームーオーバー画面を出すようにしましょう。
場面転換ができるとグッと完成品っぽくなります。
使用するのは例によって適当に作ったこちら。
それでは、いつも通りにCF2.5を起動します。
今回は、違う場面を作りたいので、まずフレームを追加していきます。
プロジェクトを開いたら上図のボタンを押して、「次へ」というボタンを2回押して
2つフレームを追加します。
それぞれのタイトルは「タイトル画面」「ゲームオーバー画面」とでもしておきましょう。
もちろん自分のわかりやすい名前でもOKです。
名前を変えたら、サムネ部分をドラッグ&ドロップして「タイトル画面」のフレームを
「メイン画面」の上に持ってきます。
そしたらタイトル画面の編集をするのでタイトル画面のサムネをダブルクリックして
編集画面に飛びましょう。
今回作ったタイトル画面は固定されている画面なので、「アクティブ」ではなく、
「背景」として作成します。
新規オブジェクトとして「バックグラウンド」から「背景」を選び、使用するタイトル画面を設定します。
そして画面内に収まるように配置しましょう。
次に「文字列オブジェクト」を作ります。
パラグラフに文字を設定して、色を目立つように白く、太字にします
そしたら中央やや下にいい感じに配置します。
文字や色、配置位置など、この辺はみなさんのセンスです。
そしたらイベントリストを開き、「フレームが開始」の条件で「文字列オブジェクト」を点滅させるイベントを作ります。
点滅間隔の設定は、以前やったタイマーの一定間隔の設定方法と全く同じです。
自分の感覚ですが、0.5秒間隔での点滅がちょうど良かったです(もちろんこの辺もみなさんの自由に設定して頂いて構いません)
では、次に新規条件として、「マウスポインタとキーボード」から「キーボード」→「キーを押した時」を選び、「どれかキーを押して」というダイアログが出たらスペースキーを押します。
(正確に言うと、押した時にゲームメイン画面へと移動するための「決定キー」を決めますので、別にスペースでなくても構いません)
イベント内容は、チェス盤のようなアイコンのところで「次のフレームに移動」というのを設定します。
これで、「キーボードの当該ボタンが押された時に、次のフレームへと移動する」イベントが出来ました。
ここで一度テストプレイをしたいのですが、今までのテストプレイと違い、1つ左のボタンを押します。
今まで使っていたボタンは「現在開いているフレームのみのテスト」で
今回使うボタンは「1番上のフレームから起動し、全フレームを含むテスト」となります。
試しに今までの方でやると、スペースキーを押すと、そこで終了してしまいます。
なぜかというと次のフレームに行く時に現在のフレームを破棄するのですが、このボタンのテストでは、
他のフレームでのテストをやらないのでそこで終わってしまうからです。
フレーム間での移動を挟めたテストなのにこちらのボタンでやってしまって「バ、バグか!?」と思ってしまって何時間も無駄にした結果テストボタンを間違えてただけということもありえるのでご注意を…
テストプレイにて、タイトル画面からのメイン部分への偏移は確認できたかと思います。
では次にゲームオーバー画面です。
画面は同じように背景でいいでしょう。
ゲームーオーバーの時は、「何かしらのキーを押したらタイトル画面」に戻るようにします。
わかった人はわかったと思いますが、先ほどの「キーを押した時」の2つ下に「何かキーを押した時」というのがあったのでそれを使います。
タイトル画面のフレームに飛ばすには、先ほどのチェス盤のようなアイコンのところで、「指定のフレームに移動」というのがあるのでそれを選択してタイトル画面を選ぶだけです。
これで「ゲームオーバー画面フレーム」の設定が終了です。
次に、メイン部分にて、自機が破壊される部分にゲームオーバー画面へ移動する命令を足します。
ここからは、みなさんが考えながらやる余地を残すため、ざっくりと説明します。
わからない部分は例によって下のサンプルをDLして理解できるようになっておきましょう。
そんなに難しいことはしていません。
ざっくりした説明
・自機がやられた時に、自機を「破壊」するのではなく「非表示」にする。
・自機がやられた時に、「プレイヤー1」オブジェクトから「コントロールを無視」を設定する。
・自機オブジェクトに変数「ゲームオーバー」を作り、自機がやられた時に「ゲームオーバー」変数に数値を入れる。
・「ゲームオーバー」変数に設定した数値が入っている場合、タイマー一定間隔(好きな秒数)にて「ゲームオーバー画面」フレームへと移動させる。
以上です。
一応初めて使う命令として、「プレイヤー1」オブジェクトの「コントロールを無視」というのがあります。
これは、「プレイヤー1用に設定されている部分のキーやマウス、ジョイスティックの受付を無視する」という命令です。
この命令が出されてから「コントロールを戻す」か「フレームを切り替える」まで一切の受付が無視されます。(移動ボタンや発射ボタンを押しても自機の移動や弾の発射が行われなくなります)
今回は、こんな感じです。
今回のでタイトルとゲームオーバーが付き、更に完成ゲームに近づきましたね!
ではまた次回に!
前の講座 次の講座