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 并将 BlocksRaycastInteractable 设置为 false 确保您在游戏对象上附加了GraphicRaycaster(通常在画布上)

【讨论】:

谢谢。这帮助我解决了我的问题。还学习了如何使用事件系统预览窗口进行调试。【参考方案2】:

原来我不知道您也添加了 Graphic Raycaster 组件。之后开始接受输入。

谢谢大家。

【讨论】:

以上是关于unity 怎样排列canvas下元素顺序的主要内容,如果未能解决你的问题,请参考以下文章

Unity-UI(UGUI详解)02.1 Canvas组件、Visual组件

一个在h5的canvas元素中画扑克牌jquery插件实现

Unity入门学习日记

HTML5:Canvas 标签

unity3d画布有哪几种渲染模式

在Canvas上放置.png文件的好方法?