Unity坦克大战开发全流程——游戏场景——主玩家——可击毁箱子

游戏场景——主玩家——可击毁箱子

Unity坦克大战开发全流程——游戏场景——主玩家——可击毁箱子_第1张图片

Unity坦克大战开发全流程——游戏场景——主玩家——可击毁箱子_第2张图片

Unity坦克大战开发全流程——游戏场景——主玩家——可击毁箱子_第3张图片

添加特效

Unity坦克大战开发全流程——游戏场景——主玩家——可击毁箱子_第4张图片

Unity坦克大战开发全流程——游戏场景——主玩家——可击毁箱子_第5张图片

CubeObj的代码如下

 

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

public class CubeObj : MonoBehaviour
{
    //关联的奖励物品
    public GameObject[] rewardObjects;
    //关联的特效
    public GameObject deadEff;

    private void OnTriggerEnter(Collider other)
    {
        

        BulletObj bullet = other.GetComponent();
        TankBaseObj tank = bullet.fatherObj;

        if(tank is PlayerObj)
        {
            int randomIndex = Random.Range(0, rewardObjects.Length);
            Instantiate(rewardObjects[randomIndex], transform.position, transform.rotation);
            //创建一个奖励特效
            GameObject eff = Instantiate(deadEff, transform.position, transform.rotation);
            //控制特效的音效
            AudioSource audioSource = eff.GetComponent();
            audioSource.volume = GameDataMgr.Instance.musicData.soundValue;
            audioSource.mute = !GameDataMgr.Instance.musicData.isOpenSound;

            Destroy(gameObject);
        }
    
    }

}

你可能感兴趣的:(游戏)