问题标签 [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 回答
1255 浏览

c# - 如何在 Unity 中在撞击点创建粒子

所以我正在开发一个 Pong 项目作为学习工具,以帮助我习惯 Unity 作为开发工作室。我想要做的是每次球击中任一桨时创建一个粒子系统。所以我把一个粒子系统作为一个孩子放在每个桨下,并让它在每次球与 C# 中的桨接触时调用该粒子系统。它不起作用,我想让它在球和桨之间的撞击点调用粒子系统。这是我目前拥有的代码:

此代码附加到球 GameObject。

场景层次结构

0 投票
1 回答
240 浏览

c# - 2D 多边形碰撞器不会与 2d 多边形碰撞器发生碰撞

我正在开发一款游戏,而我刚刚开始。我在地图中添加了一个 png,并且一直在我想要无法通过的区域周围添加对撞机(它是一个 2D 平台游戏)。我已经设计了一个敌人,并在它四处移动时添加了一个 2DRigidBody 组件,并开始使用 2DBoxColliders 作为关卡的碰撞器,以及我编写的脚本:

意味着敌人会撞到墙的一侧,然后旋转并开始向另一条路走。我意识到我的地图的大小使用多个 2DBoxColliders(当我说多个时,我的意思是我可能不得不使用超过一百个)是一种非常糟糕的方法。我现在也开始在地图上使用 2DpolygonCollider,但现在敌人不会与墙壁的侧面发生碰撞并转身,它只是保持朝向同一个方向但不会移动。有谁知道为什么?

0 投票
0 回答
30 浏览

c# - Unity2D错误?还是我缺少什么?

我在使用 Unity 函数“OnMouseUp”时遇到严重问题(也尝试使用 OnMouseDown 和其他函数)

我遇到的问题是该功能对点击没有反应,但在何时起作用和何时不起作用时不一致。有时关闭统一并再次打开它会使其工作,有时则不会。

代码相当简单:

此脚本被添加到具有以下特征的游戏对象中 游戏对象

到目前为止,我认为我的端存在一些问题并且我做错了,但经过一些测试,我认为它更像是一个 Unity Bug,而不是我。

这方面的一个例子是有时它会起作用,有时它不会(在游戏中的相同坐标上)

另一个例子是,如果游戏对象预制件在启动游戏时选择了“已触发”,并且在单击带有 OnMouseUp 脚本的游戏对象之前,我取消选择它,它神奇地工作。如果然后我更改我的预制框“已触发”并以此启动游戏,它将无法正常工作。另一方面,如果我在游戏运行时再次选择“已触发”,它将再次起作用。

我的理论是,由于某种原因,在游戏运行时更改属性“已触发”时,它会以某种方式刷新它并允许代码运行。

我在网上做了一些研究,看看我做错了什么,但找不到任何东西。如果有人知道我的问题是什么,将不胜感激,如果这是一个错误,还有其他方法可以达到相同的结果吗?

0 投票
1 回答
1164 浏览

unity3d - Unity2d Screen.width不返回Android设备中的Canvas面板实际屏幕尺寸

我正在使用 LeanTween move 方法将一个画布面板水平导航到另一个画布面板。

我阅读了统一论坛,发现设置 RectTransform 值并使用 Screen.width 和 height 是正确的方法。但是,当我在设备 screen.width 中运行它时,它没有按预期工作。在不同的设备中,不同的行为。它没有返回屏幕尺寸,我搜索了论坛,他们说 screen.width 返回游戏区域宽度。这意味着什么?

如何获得实际的画布面板宽度?

画布设置截图

在此处输入图像描述

0 投票
1 回答
53 浏览

unity2d - Unity2d为什么我看不到游戏标签,它只有蓝色

在此处输入图像描述

我一直在寻找答案(15分钟:D),请帮助我!谢谢!

0 投票
1 回答
237 浏览

c# - Unity - 单击一个对象会激活其他对象

我正在尝试创建一个扫雷+答题器/空闲游戏以进行练习。目前,我无法让点击正常工作。我通过代码生成了所有对象,这意味着它们都是相同的预制件,但位于不同的位置。当我单击它们时,所有这些代码都将激活,并且所有图块都变为打开状态。我不确定我是否在这里使用了错误的点击功能,因为我知道还有一个OnMouseDown()功能,Input.GetMouseButtonDown(0)但唯一激活代码的功能是在第二个功能中。

那是我的点击检测。虽然它确实检测到点击,但正如我之前所说,它会检测所有磁贴并激活它们。我只希望它在其中一个上激活。我已经看过 RayCasting 的东西,但我真的需要更多关于它是如何工作的解释(如果这是解决方案的话)。

0 投票
0 回答
96 浏览

unity5 - 碰撞后的意外轨迹

我目前正在尝试在 Unity 中开发类似 arkanoid 的游戏,但我遇到了一个问题,我似乎无法通过令人满意的解决方案来解决。

当球撞击两个相邻砖块的边缘时,它会以一种意想不到的方式“反映”速度:球会朝它来的方向移动。

作为信息,我的世界空间大小为:5.625x,每块砖的大小为 0.703125,每行 8 个砖。此外,每个砖块都具有相同的对撞机 Y 尺寸。

我尝试将对撞机的 x 大小增加到某个合理的程度(例如 0.74x)以确保两块砖之间没有间隙,但有时问题仍然存在。

这是一张非常丑陋的图片,说明了正在发生的事情(绿色箭头是预期的轨迹):意外碰撞

在此先感谢您的帮助!

编辑:这里是关于球和砖的检查员信息。关于砖块的线条,它基本上是八个游戏对象,带有一个 boxcollider2d 和一个运动学刚体 2d。

球信息 球材料的摩擦力为 0,弹力为 1。

砖信息

0 投票
1 回答
4388 浏览

c# - 世界空间画布未在游戏中显示

我有一个 2D 游戏,我需要在播放器上方放置一个铭牌。

我已经完成了所有工作,但它只显示在编辑器中而不是游戏中。

我确定这与上面的相机渲染有关,但我不知道如何修复它。

Canvas 设置为 UI 层,所以这不是问题。

检查员:

画布检查器属性

编辑器内

在此处输入图像描述

在游戏中:

在此处输入图像描述

0 投票
1 回答
23 浏览

unity2d - UNITY 2d - 我可以在播放器脚本中引用动画师的参数吗?

如果玩家不移动,我正在尝试将动画师的 bool Walking参数设置为 false。

我已经有一个名为 Speed 的参数,它很有效,而且它只是积极的,所以我想说这样的话:

if (speed == 0) {anim.SetBool("Walking", false); } //其中速度是动画师中的一个参数

else { anim.SetBool("Walking", true); }

我可以做类似的事情吗?

谢谢

0 投票
1 回答
358 浏览

c# - Unity3D - 如何测量一堆物体的高度?

我正在 Unity 中创建一个 2D 块堆叠游戏,您可以在其中从 x 轴平移生成器对象实例化块。我面临的问题是当堆栈变得太高并且靠近产卵器时,我需要在 Y 轴上向上移动产卵器和游戏摄像机。我正在测量一堆预制件以使用 Bounds 获得它们的高度所以我知道何时移动我的相机和生成器。我面临的问题是当我调用我的 GetMaxBounds 函数并封装它没有添加到我的 parentBounds 变量的附加点时。我的 parentBounds.max.y 永远不会增加。我是编程和 C# 的新手。提前致谢。

游戏视图