Construct 3 の基本操作を学ぶ(10)~文字を表示してみよう

前回は制作を一時中断して、プロジェクトの保存と再開について説明をしました。今回はゴーストシューターにもどって、プレイヤーがモンスターに接触し死亡したときのゲームオーバー画面とリスタートを実装してみましょう。

※この記事では、Construct 3 のビギナーズガイドを参照しながら、ゴーストシューターという簡単なゲームを一緒に作っていきます。

あわせて読みたい
Beginner's guide to Construct 3 ★★★★★ Thanks for choosing Construct 3! Let's get started making your first game. We'll be making the Ghost Shooter demo game. You'll learn everything you need to know...

完成版はこちらで確認が可能です。

あわせて読みたい
Construct 3 r368.2 ★★★★★ Launch Construct 3 r368.2. Make games with the world's easiest browser-based game creator. Try for free now and begin your game development journey.
Menu

テキストオブジェクトを追加

プレイヤーが死んだときに「ゲームオーバーです。再開するにはスペースキーを押してください」という文字を表示させたいので、まずは新たにテキストオブジェクトを作って名前を GameOver としておきましょう。

つねに画面の中央に表示されるようにしたいので HUD レイヤー(スコア表示と同じレイヤー)にテキストオブジェクトを置くことを忘れずに。

※注意:テキストオブジェクトの名前と、表示される文章はまったく関係がないので注意しましょう。

そして画面左の Properties 内 に変更を加えます。Text に表示させたい内容(ここでは「Game Over!  Press space to restart.」としました)、Size を 18 に、Color を 白にしましょう。

一度プレビューで確認してください。Game Over!  Press space to restart. という文字が常に画面の中心にあればOKです。

テキストを見えなくしておく

先ほど作ったテキストは、プレイヤーが死んだときに表示させたいものなので、ゲーム開始時には見えないようにしておきましょう。

すでにある条件: System → On start of layout に以下のアクションを加えます。

アクション:GameOver(テキストオブジェクト) → Set visible → Invisible

これでスタート時にこのテキストは見えなくなっているはずです。プレビューで確認してみましょう。見えませんね。

プレイヤーが死んだときに文字を見える化する

先ほど見えなくしたテキストを、プレイヤーが死んだときに表示させます。

すでにある条件:Monster → on collision with Player に以下のアクションを追加します。

アクション:GameOver(テキストオブジェクト) → Set visible → Visible

これでプレイヤーがモンスターと接触して死んだときに、先ほどのテキストが表示されるようになりました。

スペースキーでリスタートするイベント

スペースキーを押したときにゲームがリセットされるようにしていきます。

ゲームを開始時の状態に戻すためには、レイアウトをリセットするだけではなくて、早くなったモンスターのスピード(グローバル変数 MonsterSpeed )を初期値( 80 )に戻し、スコア(グローバル変数 Score )も初期値( 0 )に戻します。

ということで、さっそく新しいイベントを作りましょう。

条件:Keyboard → On key pressed → Space 

アクション 1:System → Set value → MonsterSpeed 80

アクション 2:System → Set value → Score 0

アクション 3:System → Go to layout → Layout 1

最後の Go to layout コマンドは別のレイアウトに移動したいときにも使うことができますが、ここでは最初に戻すために利用しています。

これでスペースキーを押すとすべてがリセットされて、最初からやり直すことができるようになったと思います。プレビューで確認をしてみてください。

ですが、今のままだといつでもスペースキーを押すとゲームをリセットできてしまいますよね。これを、プレイヤーが死んで先ほどのテキストが表示されてから有効になるようにしましょう。

Player の数が0になったときの設定

プレイヤーが死んだときに、という条件を先ほどのスペースキーを押すという条件 ( Keyboard → On key pressed → Space ) の下に追加しましょう。(右クリック → Add another condition )

条件:System → Compare two values → Player.Count= Equal to0

Compare two values は二つの値を比較しそれを条件とすることができる便利なコマンドです。いろいろ応用ができると思うので、考えてみてください。

Player.Count はプレイヤーオブジェクトの数を表しています。モンスターとぶつかったときにプレイヤーは消滅する、というイベントをすでに作っているので、プレイヤーが消滅するというのは Player.Count が 1 → 0 になることと同義となります。

だからこの条件が有効になり、その状態でスペースキーを押すと各アクションが有効になるのです。

今回はここまでになります。番号中にやってきた基本操作に関する記事はこれで最後になります。ほかにも役に立つ記事があると思いますので、ぜひ参考にしていただき、ゲーム作りを進めてください。

Menu