Unity 2D Android限制GameObject变换水平

时间:2014-07-25 18:10:07

标签: unity3d transform limit

有没有办法限制游戏对象在x轴上的变换?我使用GUI Textures作为按钮来左右滑动游戏对象,但我不希望它滑动到屏幕视图之外。任何建议都表示赞赏。

public float moveSpeed = 0.5f;

    void Update () {
    float horiz = Input.GetAxis ("Horizontal");
    transform.Translate(new Vector3(horiz * moveSpeed,0,0));
}

2 个答案:

答案 0 :(得分:1)

您可以使用Mathf.clamp()方法。

示例:

float xPos = Mathf.clamp(xPos, minX, maxX);

这可确保如果xPos低于minX,则会将其设置为minX,如果高于maxX,则会将其设置为maxX意味着xPos永远不会高于maxX或低于minX

答案 1 :(得分:1)

一种简单的方法是将游戏对象(例如立方体)作为屏幕的边界。这样,你就无法将你的游戏对象移到屏幕之外,因为它会与边界碰撞并停止在屏幕之外。