Unity OnMouseDrag太快拖动问题

时间:2014-09-30 06:57:47

标签: unity3d rotation sprite draggable drag

我有两个精灵,我在鼠标拖动时旋转它们。当我旋转一个时,另一个必须旋转但速度稍慢。问题是当我第一次移动精灵太快时。我想Unity会跳过一些要求当前物体旋转的点。这是代码:

    if(objekatKliknut=="Minute"){
        mouseClickPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        Vector3 dir = mouseClickPos - transform.position;
        angle = Mathf.Atan2(dir.y,dir.x) * Mathf.Rad2Deg;
        angle-=90;
        if (angle < 0.0f) angle += 360.0f;
        angle = Mathf.Round(angle/6.0f)*6.0f;
        if(angle==360) angle=0;
        hand1.transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);
        a1=angle;
        if(a1!=a2){
            float x = Mathf.Abs(a1-a2);
            if(a1>a2){
            moveRight = false;
                if(x==6){
                    handRot+=addAngle*x/6f;
                    globeRot-=addGlobeAngle;
                }
                a2=a1;
            }
            else if(a1<a2){
            moveRight = true;
                if(x==6){
                    handRot-=addAngle*(x/6f);
                    globeRot+=addGlobeAngle*(x/6f);                     
                }
                a2=a1;
            }
        }
        hand.transform.rotation = Quaternion.AngleAxis(handRot, Vector3.forward);
        oblaci.transform.rotation = Quaternion.AngleAxis(globeRot, Vector3.forward);
    }

hand1是我正在旋转的第一个对象,而hand是第二个需要相对于第一个旋转的对象。 有人可以帮助我吗?

0 个答案:

没有答案