对象移动不起作用

时间:2015-11-24 16:36:41

标签: c# unity3d

到目前为止,我尝试用 Unity 制作2款游戏 - 其中一款是2D,另一款是3D。在我的2D游戏中,我对移动物体没有任何问题。

以下是我的播放器对象向左移动的代码,左侧 UI 按钮点击:

float moveSpeed = 2f;
//.......
//.......
public void SheWalksL()
{
    AniWalkL (); // Animation
    GetComponent<Rigidbody2D> ().velocity = new Vector2 (-moveSpeed, GetComponent<Rigidbody2D> ().velocity.y); // Move Left

}

上面的代码正在处理用户界面Button。但是在我的 3D游戏中,当我尝试以相同的方式移动player对象时(添加了第3维),它无法正常工作。这是代码:

public void ButtonMoveL()
{

    Vector3 movemnt = new Vector3(-2.0f, GetComponent<Rigidbody>().velocity.y, 0);
    GetComponent<Rigidbody>().velocity = movemnt * speed; // Move Left(Vantage point: looking down at the scene, along the Y-axis. So, Z is aligned vertically and X is aligned horizontally)

}

唯一不同的是,在3D游戏中,我分别创建了运动矢量并将其分配给了物体速度,并且在不使用变量的情况下直接提供了矢量的X值。我还有一个&#34; Fire&#34;按钮,按下时功能完美,因此按钮事件调用不会出现问题。有人可以指出我在3D代码中做错了什么,以使其无法正常工作。

0 个答案:

没有答案