问题标签 [unity2d]

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.

0 投票
1 回答
373 浏览

c# - Unity2D:Sprite.Create 不能满足我的需要

我最近遇到了 Sprite.Create 函数的问题。我正在使用 C# 编写一个带有可以拉伸和更改大小的边框的框,但我不希望白色边框拉伸。我尝试创建自己的纹理,当我打印出一些像素的值时,看起来效果很好。但是当我将纹理用于 Sprite.Create 时,它​​不起作用,只是显示了一个灰色方块。这是代码:

scale 变量是一个 Vector2,我可以在绘制精灵之前更改它,这样它就不会拉伸。谢谢你的帮助。我正在使用 Unity 5,如果这与它有关的话。

0 投票
1 回答
116 浏览

c# - 运动有问题

在我的游戏中,我有一个吃豆人风格的竞技场。边缘对撞机放置在每条线上。现在,对于我的播放器的移动(WASD 风格),我最初使用了 transform.Translate。这给了我希望我的球员拥有的最好的流畅运动。你们大多数人都知道,这使得边缘碰撞器无效,因为玩家只会在边缘上变换它的位置。为了解决这个问题,我使用 rb.AddForce(new Vector2(Input.GetAxis("Horizo​​ntal") * speed, Input.GetAxis("Vertical") * speed); 代替,但我真的不喜欢玩家如何移动,因为即使您松开 WSAD 键,它仍然会移动,并且会发出更多的加速移动而不是计算移动。

有谁知道解决这个问题的方法?流体 WASD 运动,如 transform.Translate,但不通过边缘对撞机。

我很感激!

0 投票
1 回答
796 浏览

rotation - 2D:找到鼠标位置和游戏对象之间的角度

我有一个啤酒瓶,位于 90% 的玻璃杯顶部。我想围绕它的 Pivot 旋转它,它位于顶部。为了做到这一点,我试图找到鼠标位置(mp)和瓶子之间的角度并通过它旋转 ti。

在此处输入图像描述

旋转中心是游戏对象的当前位置,因为精灵的 Pivot 位于顶部。我试图找到两个向量,一个是从 mp 到旋转中心的向量,另一个是瓶子的位置。然后我使用了:gameObject.transform.Rotate(Vector3.Forward, Vector3.Angle(v2,v1))。

结果当然不是我所期望的。我是这个游戏数学的新手,我会很感激解释。

(它是一个安卓游戏,我打算将瓶子从 90 度上下拖动到 180 度)。

0 投票
3 回答
1111 浏览

c# - Input.GetTouch(0).deltaPosition 在轴上移动得“更快”

我有一个相对于手指位置移动精灵的功能。我的意思是手指可以触摸屏幕的任何部分并移动玩家精灵,而无需将精灵移动到手指位置。

我遇到的问题是它移动精灵的速度比实际手指位置快:

假设我的手指在 (0,0),精灵在 (10,10);我将手指在 X 轴上移动 10 个单位,我希望精灵在 (20,10) 处移动,但实际上它移动的单位比预期的要多。假设它移动到(25,10)。

我认为这与 deltaPosition 值有关。这是函数(参数中的变换是我正在移动的精灵的变换):

0 投票
1 回答
4488 浏览

c# - 如何裁剪捕获的图像? - C#

是否可以根据我想要的形状裁剪捕获的图像?我正在使用原始图像 + 网络摄像头纹理来激活相机并保存图像。我使用 UI Image 叠加方法作为掩码来覆盖不需要的部分。我将在后半部分将图片附加到 char 模型中。对不起,我是统一的新手。感谢您的帮助!

在此处输入图像描述

以下是我的代码中的内容:

}

0 投票
0 回答
250 浏览

unity3d - Unity (Mac) 无法在精灵编辑器对话框中输入精灵名称

我正在使用 Unity Personal(免费版)

我正在尝试将精灵名称从“greenSheet_2”重命名为其他名称,但我无法在精灵编辑器对话框的“名称”之后键入任何单个字母(也无法复制和粘贴)。

我不知道为什么?这是免费版本的错误或限制还是什么? 在此处输入图像描述

0 投票
1 回答
484 浏览

c# - 在运行时根据该组件的背景颜色更改文本组件的颜色

我想知道是否可以根据运行时的背景颜色更改文本组件的颜色,例如“健康”。背景颜色并不是指组件创建时的固定背景颜色,而是指位于文本组件本身后面的实际颜色。这样做的目的是让文本在放置在较深或较浅的阴影前面时进行适当的对比 - 理想情况下,我只需要根据背景颜色将文本颜色更改为白色或黑色。

我能想到的唯一方法是将 Collider2D 组件附加到文本上,每当检测到较暗的阴影时,它就会调用 OnTriggerEnter2D 方法。为了实现这一点,我想为那些需要调整以实现更合适的对比度级别的场景图层分配标签。我在下面附上了我提出的解决方案,尽管由于碰撞的性质,我认为它不可行,但我欢迎任何建议。谢谢。

0 投票
1 回答
1331 浏览

c# - 在 Unity 2D 中将玩家移向点击点

我正在制作一个 2D 指向和点击游戏,我希望玩家向点击的对象移动。这是我将玩家移向门的代码:

}

问题是玩家每次点击只移动一个像素。如果门被点击,我希望玩家一直移动到门。

0 投票
1 回答
194 浏览

unity3d - Grid Like Snake 系统

全部。我想要完成的是一个简单的蛇游戏,其中每个尾部位置都遵循前一个尾部位置。但是由于某种原因,瓷砖沿对角线跟随先前的尾部位置,而不是像头部那样在网格系统中移动。这是我的代码

头部运动课

...所有的方向都是一样的,我只是把这个包括在内,这样你就可以看到我的头部运动是如何运作的。

尾巴运动课

也只是为了澄清,我知道我正在使用 Vector3,当我应该将 vector2 用于 2D 时,但它现在运行正常,我稍后会更改它。

0 投票
1 回答
60 浏览

c# - 创建一个障碍物,玩家需要在其中做出反应才能继续前进

我对 Unity 2d 很陌生。如何在 Unity 2d 中创建一个问题作为移动角色的障碍?

请注意,问题的数量最多可达 5 个,随着角色的前进而出现,并且还会有玩家选择最多移动的选项。如果他选择了错误的选项,最终的结果可能会算在最后,或者他可能会失去生命。