【问题标题】:Rotating an object on X Y axis, cocos3D在 X Y 轴上旋转对象,cocos3D
【发布时间】:2013-03-27 14:45:56
【问题描述】:

我在 iO 上使用 Cocos3D。我需要使用平移手势旋转对象。

switch (gesture.state)
{
    case UIGestureRecognizerStateBegan:
        saveState = Dobj.rotation;
    break;
    case UIGestureRecognizerStateChanged:
        CC3Vector rotateVector = CC3VectorMake(gesture.translation.y, gesture.translation.x, 0.0f);
        Dobj.rotation = CC3VectorAdd(saveState, rotateVector);
    break;
    case UIGestureRecognizerStateEnded:
    break;
    default:
    break;
}

这样我可以让我的对象(Dobj)自行旋转。但似乎轴也在旋转,这导致了一些非常奇怪的旋转。

我该如何解决这个问题?

【问题讨论】:

    标签: rotation gesture pan cocos3d


    【解决方案1】:

    这就是我解决问题的方法。

    switch (gesture.state)
    {
        case UIGestureRecognizerStateBegan:
            saveState = CC3VectorMake(0.0f, 0.0f, 0.0f);
        break;
        case UIGestureRecognizerStateChanged:
             CC3Vector rotateVector = CC3VectorMake(gesture.translation.y, gesture.translation.x, 0.0f);
            [Dobj rotateBy:CC3VectorDifference(rotateVector, saveState)];
            saveState = rotateVector;
        break;
        case UIGestureRecognizerStateEnded:
        break;
        default:
        break;
    }
    

    使用rotateBy: 方法似乎只旋转对象而不改变其轴

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多