android - 阻止我的 2d 物体通过盒子对撞机

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

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

using UnityEngine;
using System.Collections;

public class Tilt : MonoBehaviour {

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

最佳答案

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

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

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

关于android - 阻止我的 2d 物体通过盒子对撞机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31342332/

相关文章:

powershell - IF语句仍然被触发

c# - 如何获取 DataGridView 控件上滚动条的大小?

c# - 如何在运行时更改 WPF 控件绑定(bind)

c - 从编辑控件中删除键盘焦点

android - ACCESS_FINE_LOCATION 权限

android - 如何更改(删除然后添加)Android 中按钮的背景?

python - 在 iTunes 上搜索轨道

android - 在 Google Maps API v2 上绘制路线

android - 有没有办法检测 google play 上 android 应用页面 View 的来源?

linux - 在 bash 脚本中设置本地环境变量