Unityでジャンクゲームを作っているっぽい

会社帰りにGPD PocketにUnity入れてゲーム作ってます

10 敵を破壊

下準備

bulletプレハブを編集

[Bullet]tagを設定する
f:id:mekatamatama:20201018113351p:plain

敵のプレハブのEnemy_Collisionを編集する

[Enemy]tagを設定する
Enemy_CollisionにBoxColliderを追加、isTriggerにチェック入れて当たり判定用とする
f:id:mekatamatama:20201018114115p:plain

Player_Bullet.cs に追記

[Enemy]tagとの当たり判定を追記

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player_Bullet : MonoBehaviour{
	GameObject gameController;	//検索したオブジェクト入れる用
	public float speed = 0.0f;	//移動speed

	void Start(){
		gameController = GameObject.FindWithTag ("GameController");	//GameControllerを探す
	}

	void Update(){
		//移動
		transform.position += transform.up * speed * Time.deltaTime;
	}
	//他のオブジェクトとの当たり判定(triger)
	void OnTriggerEnter( Collider other) {
		if(other.tag == "Wall_Up"){
			//gcって仮の変数にGameControllerのコンポーネントを入れる
			GameController gc = gameController.GetComponent<GameController>();
			//画面内の弾数を減算
			gc.shotNum --;
			Destroy(gameObject);	//このGameObjectを[Hierrchy]ビューから削除する
		}
		if(other.tag == "Enemy"){
			Debug.Log("hit");
			//gcって仮の変数にGameControllerのコンポーネントを入れる
			GameController gc = gameController.GetComponent<GameController>();
			//画面内の弾数を減算
			gc.shotNum --;
			Destroy(gameObject);	//このGameObjectを[Hierrchy]ビューから削除する
		}
	}
}

敵の[Enemy]tagとの接触処理を追加して、プレイヤーの弾が消えるようになった
f:id:mekatamatama:20201018114346g:plain:h300
でも、敵が消えない…

Enemy1.cs を用意

弾と同じく敵も消したいので、プレイヤーの[Bullet]tagとの当たり判定を見る

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Enemy1 : MonoBehaviour{
	//他のオブジェクトとの当たり判定(triger)
	void OnTriggerEnter( Collider other) {
		if(other.tag == "Bullet"){
			Destroy(gameObject);	//このGameObjectを[Hierrchy]ビューから削除する
		}
	}
}

このスクリプトをEnemy_Collisionにアタッチ
f:id:mekatamatama:20201018114512p:plain
敵も消えました
f:id:mekatamatama:20201018114535g:plain:h300