【问题标题】:Stop my 2d object from going thru box collider阻止我的 2d 对象通过盒子对撞机
【发布时间】:2015-07-10 13:42:50
【问题描述】:

所以现在我有一个可以左右移动的盒子,在侧面我还有其他盒子可以阻止玩家进入虚空。很难解释,但基本上我把玩家放在中间,然后在两边各放一个盒子,以防止玩家跑到虚空中。尽管我已经用盒子碰撞器和脊体设置了所有东西,但当我将设备一直倾斜到一边时,玩家会直接穿过盒子,但是如果我稍微倾斜设备,播放器就会在两侧反弹并且它变得非常生涩。我怎样才能制造一些任何物体都无法穿透的障碍?就像我需要做什么来做一堵墙,这样什么都不能穿过它?这是我用来控制播放器的代码,谢谢!

using UnityEngine;
using System.Collections;

public class Tilt : MonoBehaviour {

void FixedUpdate ()
{
    transform.Translate(Input.acceleration.x * Time.deltaTime * 10, 0, 0);
}

}

【问题讨论】:

    标签: android scripting controls game-physics unity3d-2dtools


    【解决方案1】:

    您遇到此问题是因为您使用transform.translate 来移动您的角色。无论是否有碰撞器,此方法都会将您的角色放置在指定的位置。

    正如您所说,您已将 RigidBody 附加到您的角色,因此请尝试使用 rigidbody.velocity 移动您的角色。

    如需更多帮助,请查看以下Unity Tutorial

    【讨论】:

    • rigidbody.velocity 不再工作了,它有过时的 API,当我更新它时会出现更多错误。很抱歉刚刚结束假期,回复晚了。
    • 你看教程了吗?它与新的统一。关于过时的 API:在新的统一中,您必须使用 GetComponent() 获得 rigidbody
    • 谢谢!我真的很忙,所以我有一段时间没有看教程,但我终于看了它,它解决了我的问题!非常感谢,答案奖励! :)
    • 这里是教程链接:youtube.com/watch?v=ixM2W2tPn6c
    猜你喜欢
    • 1970-01-01
    • 2017-10-08
    • 1970-01-01
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    • 2016-11-28
    • 1970-01-01
    相关资源
    最近更新 更多