353人加入学习
(6人评价)
Steam模拟经营游戏《冒险村的商人日记》从开发到上架全流程

开发 策划 美术 音乐 发行 全部教给你

价格 ¥ 890.00

最后点击 UI 的时候会出现射线被锁定到 UI 上面的问题, 也就是点击 Ground 的时候弹出窗口点击购买无法更新玩家的价格, 这里先采用比较简单的遮挡 UI 方法后续看看是否有其他方法处理: 

using UnityEngine;
using UnityEngine.EventSystems;// 引入 Unity 事件系统

// <summary>
/// 游戏控制器类
/// </summary>
public class GameController : MonoBehaviour{

    /// <summary>
    /// 更新方法
    /// </summary>
    void Update(){
        // EventSystem.current.IsPointerOverGameObject 用来判断目前鼠标是不是锁定在 UI 层上
        // 实际上判断鼠标是否在放置在含有 Canvas 组件对象上( 创建 UI 时候自动附加在 UI 的根部件 )
        if (!EventSystem.current.IsPointerOverGameObject()) {
            // 这样就能成功锁定到射线指定的 Ground 对象
            _ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            if (Physics.Raycast(_ray , out _hit , rayDistance)) {
                if (_hit.collider.CompareTag("Ground")) {
                    activeGroundProp = _hit.collider.GetComponent<GroundProperties>();
                }
            }
        }
    }
}

 

 

 

 

 

 

 

[展开全文]

授课教师

独立游戏制作人,业余程序

课程特色

视频(245)
下载资料(22)
图文(1)