Unity - 2D移动平台育儿

时间:2014-12-29 16:17:11

标签: c# unity3d parent-child parent unity3d-2dtools

我正在努力与2D游戏中移动平台上的角色养育。

当玩家踩到移动平台时,我正在使用OnTriggerEnter2D()进行检测。它将他的父母改为该平台。 使用常见的移动平台(左右)一切正常,如果一个角色站在那个平台上并与之平行移动,他可以走路,跳跃等。 当我使用悬挂在与HingeJoint2Ds连接的两根绳索上的平台时,会出现问题。 玩家应该左右走动摆动该平台。 当使用键盘输入时,一切正常,但使用触摸输入控制器,当播放器不移动时,角色仍然在一个地方,并且不随该平台移动。在层次结构面板中,一切都是正确的,玩家是平台的孩子,平台正在移动,但角色不是。

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

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

键盘和触摸输入也是如此。区别仅在于“移动”变量。 移动和摆动平台的解决方案也是一样的。 (等级,父母,对手等)。

我几个小时都在努力,但我不知道会出现什么问题。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

你称之为“触控输入控制器”,它是触控设备吗?如果是这样,您确定Input.GetAxis("Horizontal”)在触控设备上做了什么吗?它不会只返回0吗?

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