团结 - 2D 移动平台育儿

本文关键字:平台 移动 2D 团结 | 更新日期: 2023-09-27 18:35:38

我在 2D 游戏中为移动平台上的角色育儿而苦苦挣扎。

我正在使用OnTriggerEnter2D()来检测玩家何时踏上移动平台。它将他的父母更改为该平台。使用常见的移动平台(左右),一切都很好,如果一个角色站在那个平台上,他与它平行移动,他可以走路、跳跃等。当我使用悬挂在与铰链关节2Ds连接的两根绳索上的平台时,会出现问题。玩家应该通过左右行走来摆动该平台。使用键盘输入时,一切正常,但使用触摸输入控制器时,当玩家不移动时,角色将保留在一个地方,并且不会随该平台移动。在层次结构面板中,一切都是正确的,玩家是平台的孩子,平台在移动,但角色不是。

对于移动角色,我正在使用这个:(角色控制器的一部分)

float move = Input.GetAxis ("Horizontal”);
rigidbody2D.velocity = new Vector2 (move * maxSpeed, rigidbody2D.velocity.y);

键盘和触摸输入也是如此。区别仅在于"移动"变量获取。移动和摆动平台的解决方案也是相同的。(层次结构、父项、碰撞器等)

我为此挣扎了几个小时,但我不知道可能出了什么问题。

感谢您的任何帮助。

团结 - 2D 移动平台育儿

什么叫"触摸输入控制器",是触摸设备吗?如果是这样,您确定Input.GetAxis("Horizontal”)在触摸设备上执行任何操作吗?它不会总是返回 0 吗?

您是否尝试过记录move值,或将其复制到公共变量以观察它在检查器中的演变?也许这些值在一个控制器和另一个控制器之间相差几个数量级,在这种情况下,您需要一个乘数。