アイテムドロップと効果を発動させる方法

前回は、マシンガンを打てるようにして、さらにアイテムとしてマシンガンのオブジェクトを配置してみましたね。

今回はこのマシンガンを「モンスターがドロップして、プレイヤーがそれを取ったときにマシンガン機能が有効になる」ようにしていきます。

アイテムを取ってそれを有効にする、というのはあらゆるゲームで応用が可能です。ぜひ仕組みを理解して使っていただけたらと思います。

まだゴーストシューターを作っていない、という方はこちらの記事を参考に制作を進めてください。

メンタルハックWEB
Construct 3 の基本操作を学ぶ(1)~画面の見方と背景の設置 | メンタルハックWEB この記事では、Construct 3 のビギナーズガイドを参照しながら、ゴーストシューターという簡単なゲームを一緒に作っていきます。 https://www.construct.net/en/tutorials/...

 ベースとなるゴーストシューター完全版は以下です。

あわせて読みたい
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

モンスターにアイテムをドロップさせる

ちょっと長くて複雑に見えるかもしれませんが、一つずつ進めていけば必ず理解できます、頑張りましょう。マシンガンをモンスターにドロップさせる手順は以下になります。

  • マシンガンを消す
  • モンスターに付随させる
  • モンスターが消滅→見える化

まずはマシンガンを消しましょう。これは簡単で、マシンガンが選択された状態で左の Properties ウインドウの下の方にある Initial visible のチェックを外すだけです。

これでまずはゲーム開始時にマシンガンが見えなくなりました。プレビュー画面で確認してください。

さて次に、この見えないマシンガンを特定のモンスターに付随させます。モンスターはコピーをして制作しているのどれも同じに見えますが、それぞれUID(ユニークアイディー)というものが付与されています。

それを利用して、特定のモンスターにアイテムを紐づけをします。まず以下の条件を作ってください。

条件1:Monster → Pick by unique ID  (UIDの数字を入力)

条件2:System → Every tick 

モンスター一匹を自分の近くに寄せて、そいつの UID で試してみてください。プレビューするときに楽になります。

さて、作った条件の下層に以下のアクションをつけてください。

アクション:MachineGun → Set position to another object → Monster

これで「常にモンスター〇番はマシンガンを持っている」というイベントが完成しました。

一度マシンガンの Initially visible のチェックをつけてプレビューしてみると、モンスターがマシンガンを持って移動していることが確認できるはずです。確認が済んだらチェックを再びはずしておきましょう。

次にこのモンスターが死んだときに、マシンガンを見えるようにします。以下のイベントを作ってください。

条件1:Monster → On destroyed  

条件1:Monster → Pick by unique ID  (UIDの数字を入力)

アクション:MachineGun → Set visible → visible

これで「〇番のモンスターが消滅したときに、マシンガンが見えるようになる」というイベントが完成しました。プレビュー画面でモンスター〇番をやっつけてみてください。マシンガンがドロップされるはずです。

プレイヤーがアイテムを入手するイベント

アイテムを入手する方法は以下の流れとなります。

  • プレイヤーがマシンガンに接触したときにマシンガンが消える
  • マシンガンが消えると効果が発動する

まずはマシンガンが消えるイベントですが、これはとてもシンプルですね。

条件:Player → On collision with another object → MachineGun

アクション:MachineGun → Destroy

次にマシンガンの数がゼロの時、マウスボタンを押しっぱなしにすると弾が出続けるイベントを作ります。前回のマシンガンのイベントに以下の条件を付け加えてください。

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

これで期待した動きになっているはずです。プレビューで確認してみてください。モンスターを倒すとマシンガンが現れ、それを取ると連射ができるようになる...ばっちりです!

効果音を調整する

単発の銃の時、マシンガンの時、それぞれに効果音を設定している場合、プレイヤーが死んだときにそれぞれ別に消す必要があります。

音声のソースが同じでも、それぞれに別のタグ ( Tag ) をつけて、それを指定して効果音を消すようにしてください。

これでプレイヤーが死んだときにクリックをしても発砲音は聞こえなくなったはずです。

今回はここまでです。次回はランダムドロップに挑戦をしてみましょう。

メンタルハックWEB
モンスターがアイテムをランダムにドロップする | メンタルハックWEB 前回は、モンスターにマシンガンをドロップさせてプレイヤーそれに触れるとマシンガンが有効になるという仕組みを作ってみました。 ですが、以下の問題がありました。 あら...
Menu