可以使用Raycast来检测点击是否击中怪物,具体实现代码如下:

void Update()
{
    if (Input.GetMouseButtonDown(0))
    {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;
        if (Physics.Raycast(ray, out hit))
        {
            if (hit.collider.gameObject.tag == "Monster")
            {
                Monster monster = hit.collider.gameObject.GetComponent<Monster>();
                if (monster != null)
                {
                    monster.TakeDamage(10);
                }
            }
        }
    }
}

首先使用ScreenPointToRay将鼠标点击位置转换为Ray,然后使用Physics.Raycast进行射线检测,如果击中了怪物(通过tag判断),则获取怪物的Monster组件,并调用TakeDamage方法使怪物掉血

unity开发塔防游戏的点击后需要检测是否点击到怪物如果是会让怪物掉血功能代码

原文地址: http://www.cveoy.top/t/topic/fEeS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录