问题标签 [unity-ui]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unity3d - 如何正确使用播放器滑动长度(以像素为单位)来移动 Unity 中的 UI 元素?
为了优化,我必须创建一个池列表(充当滚动视图)来减少实例化的游戏对象的数量。此列表使用可拖动接口(IDragHandler、IBeginDragHandler、IEndDragHandler)来实时评估玩家输入并移动/重组其 UI 元素。
它们都使用 RectTransform,我根据最后一帧的拖动长度修改它们在 UI 中的锚定位置。
但是,我无法同步我的触摸输入和项目移动。滑动时,我的列表滚动速度比我的输入快(即,当视觉滑动 130 像素时,我的列表将滚动 180 像素左右)
我测试了一遍又一遍,但是从输入收集的值,通过脚本运行并最终用于偏移 RectTransform 的 anchoredPosition 始终是相同的,每一帧。我首先认为这是由于屏幕分辨率造成的,因为滚动率似乎因移动设备而异,但标准化有关屏幕分辨率的矢量并不能解决问题。
我是否遗漏了什么,和/或是否有一种简单的方法(统一方法)来解决这种行为?
c# - 为什么图像在 Hololens 中具有不同的像素分辨率
我正在开发应用程序,其中小UI.Images
的显示为32x32像素的小纹理。正确显示每个像素非常重要。
当我尝试在 Unity 中启动应用程序时,一切都很完美 - 图像由32x32像素组成。
部署到 Hololens 时,图像质量较差,分辨率更改为16x16像素。
问题是如何在 Hololens 设备上获得以 32x32 像素质量显示的纹理?
c# - 在 screenSpace 中获取 UnityEngine.UI.Images 位置并计算归一化偏移量(在覆盖画布内)
手头的问题:
简化
给定一个 UnityEngine.Ui.Image 如何在 ScreenSpace 单位(如 400,300
我想我需要找到左上角的 ScreenSpace 值,然后知道图像的渲染总大小通过以像素表示的实际大小比率来缩放归一化偏移量。
图 2 显示了要使用的归一化偏移量
所以,准确地说,我需要找到我存储的 Rect 的左上角的 ScreenSpace 像素中的偏移量。
我认识到它可能是 Camera.main.ViewportToWorldPoint() 和对边界的一些引用的组合,可能通过 backgroundImage.sprite.pixelsPerUnit 缩放?
努力想象如何准确地完成这项工作。
谢谢
c# - Unity 上的 Columns/Magic Jewelry 重制版
我想使用 Unity for mobile 创建一个 Magic Jewelry 克隆(俄罗斯方块 + match 3)。到目前为止,我已经使用了 UI 元素,例如UIImage
,它们用作单独的块。我创建了一个脚本,它会为盒子提供随机颜色。然后,我将三个块添加到一个名为GameObjectParent
.
对于运动,我创建了另一个脚本,每秒减去GameObjectParent
' 。anchoredposition.y
在碰撞方面,我创建了一个透明的 UI 图像,作为地面触发器,GameObjectParent
一旦进入,它就会停止移动。
我现在的问题是颜色块的匹配,更重要的是,实例化GameObjectParent
. 我试过用
但它有点不合时宜。我有一个“起始块”,当前锚定在画布上(50, 810)
,这是生成的块应该开始的地方。但是,当我尝试这个时:
新克隆和生成GameObjectParent
的不合适(21392,8712398)
。我不知道发生了什么。即便如此,如果我将Instantiate
方法附加到按键上,它会一次产生两个GameObjectParent
s,另一个稍微倾斜。
我也不知道如何匹配其他块的颜色。我尝试寻找类似的游戏概念以求统一,但无济于事。也没有教程/指南/指针等,所以我真的必须自己去发现它。对这些家伙有什么想法吗?有什么建议、指南或任何可以给我的吗?
非常感激!
c# - 重启按钮 Unity 3d C#
我正在制作游戏。在我的游戏中,一个球在四处移动,如果它击中一个陷阱,它就会死掉,你将不得不重新开始。我的问题是:当你击中陷阱时,我想不出一种方法让按钮出现在当前场景中。我在 C# 中编写脚本。
陷阱上有 Trap_Spike 标签。
我的 RestartGame 脚本如下所示:
所以我愿意寻求任何我能得到的帮助
c# - How do I hide the panel on my button click?
I'm working on the main menu for the game, where I have options to join or create a room. Under the Create button, I made an Advanced button which will open the advanced panel, giving the user more options, such as room size. I made the correct onclick()
event which uses SetActive
property of both the main menu panel and the advanced panel.
The problem is, that when I click the button, the advanced menu appears but the main menu doesn't hide. I've looked at different tutorials, but they all say to do exactly what I've done.
unity3d - 使用图集压缩 Unity sprites
我正在尝试定义导入/管理项目精灵的最佳方式。我们尝试导入地图集,但结果很不方便。我分别尝试了 Sprite Packer 导入精灵(POT/4 的倍数)。设计师无法做到这一点。所以我正在考虑使用 Unity Atlas 我不确定绘制调用和压缩到底是什么。那么,...有人可以在这件事上启发我吗?