Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
黑暗之光里面UI界面打开的时候如果让人物不移动呢?
不知道叫啥发起了问答2018-04-12
6
回复
933
浏览

siki老师你好,在黑暗之光的教程里面你讲的使用UICamera.hovered来检测UI界面是否打开的方法好像已经弃用了,我没找到合适的方法来代替。

对了,我是使用UGUI设计的,之前我看到UGUI和NGUI,我就没学NGUI直奔UGUI了。。。

我自己想要设立一个bool变量,于是我是这样写的(下面的代码我都是添加在PlayerDirection脚本里面的)

//声明一个游戏物体,把questUI添加进去

public GameObject questUI;

//如果questUI不是激活状态,玩家就可以移动

if(!questUI.activeSelf)

{

}

这样写好像是错的。

群里先问过小伙伴了,给的建议是引入

using UnityEngine.eventSystem;

然后调用!EventSystem.current.IsPointerOverGameObject()

好像也不行额,求解答。

另外问一下,我想在别的脚本里面检测UI或者是其他物体是否处于激活状态应该怎么写呢?

我想调用isActive好像调用不出来。

谢谢老师~

所有回复
  • siki 2018-04-13

    这里你的激活状态是怎么控制的呢

    检测一个游戏物体是否激活 直接使用activeInHierarchy 这个属性就可以了

    • 不知道叫啥 2018-04-14

      谢谢老师~用老师的方法解决了

      (0) 回复
    • siki 2018-04-16

      回复 @ 不知道叫啥: 好的

      (0) 回复
    • 不知道叫啥 2018-05-01

      回复 @ siki: 老师我又遇到了一个新的问题,在背包界面的时候,想设计成让鼠标点击UI界面外的地方可以移动,但是点击UI就不能移动,我给UI添加了一个boxcollider,并且把tag设置为UI,

      因为之前的脚本里面设置的是鼠标点击地面人物才移动,所以这样设计,但是好像还是不行,我是用UGUI。
      求老师指点,谢谢

      (0) 回复
    • 缘分 2018-05-01

      用bool b=EventSystem.current.IsPointerOverGameObject()这个,true是在背包上,flase是在ui界面外

      (0) 回复
    • 不知道叫啥 2018-05-02

      回复 @ 缘分: 谢谢大佬,解决了

      (0) 回复
    还有0条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!