【问题标题】:My Gun move according to mouse movement but also rotate on its axis when firing bullet Why?我的枪会随着鼠标的移动而移动,但发射子弹时也会绕轴旋转 为什么?
【发布时间】:2016-01-14 23:44:34
【问题描述】:

当我按下左键射击子弹时,同时(当仍然单击鼠标左键时)我左右移动枪,我的枪继续射击子弹,但也开始围绕它的原点旋转? 但是如果我不点击鼠标左键并移动枪,它就不会绕着它的轴旋转......

var clickPos    : Vector2;
var offsetPos   : Vector2;
var divider     = 80;

function Start()
{
    clickPos = Vector2(0,0);
    offsetPos = Vector2(0,0);
}

function Update () {

    offsetPos = Vector2(0,0);

    if(Input.GetKeyDown(leftClick()))
    {
        clickPos = mouseXY();
    }

    if(Input.GetKey(leftClick()))
    {
        offsetPos = clickPos - mouseXY();
    }


    transform.Rotate(Vector3(-(offsetPos.y/divider),offsetPos.x/divider,0.0), Space.World);
}

// Prints the current mouse position
function OnGUI ()
{
    /*GUI.Label(Rect(10,350,200,100), "mouse X = " + Input.mousePosition.x);
    GUI.Label(Rect(10,370,200,100), "mouse Y = " + Input.mousePosition.y);

    GUI.Label(Rect(120,350,200,100), "click X = " + clickPos.x);
    GUI.Label(Rect(120,370,200,100), "click Y = " + clickPos.y);

    GUI.Label(Rect(210,350,200,100), "offset X = " + offsetPos.x);
    GUI.Label(Rect(210,370,200,100), "offset Y = " + offsetPos.y);*/
}



//////////////////////////////////////////////

// Return true when left mouse is clicked or hold
function leftClick()
{
    return KeyCode.Mouse0;
}

//Immediate location of the mouse
function mouseXY()
{
    return Vector2(Input.mousePosition.x, Input.mousePosition.y);
}

//Immediate location of the mouse's X coordinate
function mouseX()
{
    return Input.mousePosition.x;
}

//Immediate location of the mouse's Y coordinate
function mouseY()
{
    return Input.mousePosition.y;
}

【问题讨论】:

    标签: unity3d unityscript


    【解决方案1】:

    我得到了答案 答案是 注释偏移值,代码中使用的每个位置。 保持代码简单并注释或消除代码中的旋转线,这样枪就不会发生旋转动作,只有运动时会改变位置。

    【讨论】:

      猜你喜欢
      • 2018-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-27
      • 2015-10-14
      • 1970-01-01
      • 2014-02-05
      • 2014-06-30
      相关资源
      最近更新 更多