unity 怎样排列canvas下元素顺序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity 怎样排列canvas下元素顺序相关的知识,希望对你有一定的参考价值。
参考技术A 一、用过NGUI的人们都知道,各种NGUI的sprite之间是可以有dept来进行分层管理,以便处理层级间的关系,而在unity4.6开始的UGUI中,这是通过Canvas来设置深度关系的我在开发中设计了三个Canvas,来处理不同的UI消息相应类型StaticCanvasTouchOrMouseCanvasButtonCanvas1、StaticCanvas,其SortOrder我设置为0,我用来处理一些不用来进行触屏和按钮(这里针对的都是手机)相应的UI放置,如角色的血量,魔法值,伤血的HUDTXT,敌人头顶的血量提示等2、TouchOrMouseCanvas,其SortOrder我设置为1,是为了进行触屏响应消息而单本回答被提问者采纳Unity Canvas 按钮不起作用
【中文标题】Unity Canvas 按钮不起作用【英文标题】:Unity Canvas button not working 【发布时间】:2017-10-20 13:20:22 【问题描述】:我在我的一张图片中添加了一个画布组件,以覆盖默认的图层顺序排序。原来那个面板上的按钮控件已经停止工作了?
在 Unity 中有人对此有任何想法吗?我正在使用统一 5.5.2。
【问题讨论】:
向对象添加画布可能会搞砸很多事情。在这种情况下,与其说是按钮控件停止工作,不如说是鼠标点击被最顶层的父画布捕获,而不是落入子画布。 【参考方案1】:最简单的调试方法是:
-
在编辑器中运行游戏,而不是全屏(取消选中Maximize On Play button)
选择场景的
EventSystem
GameObject
在检查器中,打开预览窗口并使其足够大
在屏幕上移动鼠标,检查按钮名称是否出现在字段 pointerEnter
旁边
如果看不到,这里有可能的解决方案:
-
确保您的按钮上方没有任何可能阻止光线投射的 UI 元素
确保您已对按钮使用的图像启用光线投射(检查RaycastTarget)
-
确保您的场景中有
EventSystem
确保您的按钮上附加了回调,以便触发您的功能
确保您没有任何 CanvasGroup
并将 BlocksRaycast
或 Interactable
设置为 false
确保您在游戏对象上附加了GraphicRaycaster
(通常在画布上)
【讨论】:
谢谢。这帮助我解决了我的问题。还学习了如何使用事件系统预览窗口进行调试。【参考方案2】:原来我不知道您也添加了 Graphic Raycaster 组件。之后开始接受输入。
谢谢大家。
【讨论】:
以上是关于unity 怎样排列canvas下元素顺序的主要内容,如果未能解决你的问题,请参考以下文章