把UIButton关联在mask上层,在mask和穿透区域都加上Collider,接收到事件后传递给关联的UIButton。
好处是不需要复制或者添加额外的辅助措施,也比较通用。需要自己做一个Panel界面,然后通过代码去显示和隐藏他,最好是在panel界面添加一个Collider,将其大小设置到足够大,这样能够屏蔽下面层的点击等事件NGUI中自己做的窗体层,也可以实现动画的效果,最简单的就是直接使用TWEEN组件拖拽回到原位你可以在按下的时候记录一个位置 然后松开的时候在回去 按钮与default层的的问题你可以要注意一下 因为通常情况下在NGUI里面有一个UICamer 然后场景里也有一个Camera 所以有可能两个物体不在一起 只是看上去在一起而已您好,很高兴为您解答:
我告你,我也遇到了,你肯定是先做了一个空游戏对象GameObject,
然后将Button添加给Gameobject,这样不行,先添加Button,你试试。
如果我的回答没帮助到您,请继续追问。//先定义委托 参数列表根据自己的实际需要来定义
public delegate void MyDelegate(GameObject go);
//然后根据委托定义事件
public event MyDelegate myEvent;
void Start()
{
//假设你使用的NGUI,按钮为游戏对象本身
UIEventListenerGet(thisgameobject)onClick = ButtonClick
}
void ButtonClick(GameObject go)
{
myEvent(go);
}
这里就已经完成点击按钮发送myEvent事件了,在其他的脚本中订阅该事件并提供相应方法即可
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)