0

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

当玩家踏上移动平台时,我正在使用 OnTriggerEnter2D() 进行检测。它改变了他的父母到那个平台。使用普通的移动平台(左右)一切正常,如果一个角色站在该平台上,他会与之平行移动,他可以行走、跳跃等。当我使用悬挂在与 HingeJoint2Ds 连接的两条绳索上的平台时,就会出现问题。玩家应该通过左右行走来摆动该平台。当使用键盘输入时,一切正常,但使用触摸输入控制器时,当玩家不移动时,角色会留在一个地方并且不会随着该平台移动。在层次面板中一切都是正确的,玩家是平台的孩子,平台在移动,但角色没有。

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

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

键盘和触摸输入也是如此。不同之处仅在于“移动”变量的获取。移动和摆动平台的解决方案也是相同的。(层次结构,父母,对撞机等)

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

谢谢你的帮助。

4

1 回答 1

0

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

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

于 2014-12-29T21:29:03.683 回答