我目前正在为 Android 开发 2D 游戏。我的场景中有一个玩家,如果用户倾斜他的设备,玩家对象就会在地面上移动。但他只是在左右两边的屏幕上移动。我试图做一堵“墙”,但没有成功。在我的玩家游戏对象中,有一个边缘对撞机。现在我的问题是:我的玩家游戏对象如何与屏幕的侧面发生碰撞?
这是我的代码:
public GameObject player;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
Vector3 dir = Vector3.zero;
dir.y = Input.acceleration.x;
player.transform.Translate(new Vector2(dir.y, 0) * Time.deltaTime * 2000f);
}
非常感谢!:)
七月
编辑:
图 1 是我的墙,图 2 是我的球员。
解决了
解决方案代码:
Vector3 position = player.transform.position;
translation = Input.acceleration.x * movementSpeed * 50f;
if (player.transform.position.x + translation < LeftlimitScreen)
{
position.x = -LeftlimitScreen;
}
else if(transform.position.x + translation > RightlimitScreen)
{
position.x = RightlimitScreen;
}
else
{
position.x += translation;
player.transform.position = position;
}
这段代码对我有用!:)