Unity:敵の破壊~マルチプレイヤーネットワーキングのチュートリアルに挑戦

スポンサーリンク

Unityの公式チュートリアル「マルチプレイヤーネットワーキング」の実習の模様をお送りしております。前回の記事はこちらからどうぞ

敵の破壊

公式サイトのチュートリアルページ 敵の破壊

今回は敵キャラクターの体力値がゼロになったらシーンから削除する制御を追加します。

スクリプト Health の修正

  1. スクリプト Health を開く
  2. 判定用のパブリック変数 Destroy On Death を追加
  3. 関数 TakeDamage 内で、Current Health が 0 になった時に、再生成(respawn)の前に Destroy On Death の判定処理を追加
  4. スクリプトを保存

修正したスクリプトのコードにコメントを加えたものがこちら。黄色いマーカー行が追加した部分です。

プレハブ Enemy の設定

  1. Unity に戻って[Project]ウィンドウからプレハブ Enemy を選択
  2. Destroy On Death のチェックボックスを オン に設定
  3. プロジェクトを保存

Health コンポーネントはこのようになっています。

動作確認

  1. シーンをスタンドアロンのアプリケーションとして Build and Run を実行
  2. ゲーム内 UI から[Host]ボタンをクリックしてゲームをホストとして開始
  3. プレイヤーゲームオブジェクトを動かす
  4. Unity に戻ってPlay モードを開始
  5. ゲーム内 UI から[LAN Client]ボタンをクリックしてクライアントとしてホストに接続
  6. プレイヤーゲームオブジェクトを動かして動作テスト
  7. スタンドアロン・プレイヤーを終了
  8. Unity に戻ってPlay モードを終了

このステップを終えてゲームを実行。ビルドしたゲームを2つ実行してウィンドウを並べました。画面右側がホスト(サーバー&クライアント)で画面左がクライアントです。同じ位置に敵キャラクターが4体表示されています。

敵キャラクターは破壊フラグがオンになっているので、撃たれて体力がゼロになると破壊されます。