gestures - cocos3d 广告牌平移手势

标签 gestures cocos3d

我想使用手势平移广告牌,我该怎么做,我已经像这样修改了 DemoMashUp:

 - (void)dragBy: (CGPoint) aMovement atVelocity: (CGPoint) aVelocity
{
     if (selectedNode == dieCube || selectedNode == texCubeSpinner) {
         [self rotate: ((SpinningNode*)selectedNode) fromSwipeVelocity: aVelocity];
     }

     if (selectedNode==marker) {
         [self moveSelectedNode:marker fromSwipeMovement:aMovement];
     }
 }

- (void)stopDragging
{
    selectedNode = nil;
}

 - (void)moveSelectedNode:(CC3Billboard*) aNode fromSwipeMovement: (CGPoint) swipeMovement
{
     aNode.location=cc3v(swipeMovement.x, swipeMovement.y, aNode.location.z);
}

但它不起作用,当我触摸广告牌时它就消失了

最佳答案

我创建了一个新方法 moveSelectedNode“DemoMashUpScene”,如下所示:

   -(void) touchEvent: (uint) touchType at: (CGPoint) touchPoint {
    NSLog(@"\n\n*******************TOUCH EVEN CALLED************************\n\n");


    switch (touchType) {
        case kCCTouchBegan:
            [self pickNodeFromTouchEvent: touchType at: touchPoint];
            break;
        case kCCTouchMoved:

        if (selectedNode==marker||selectedNode==marker1||selectedNode==marker2||selectedNode==marker3||selectedNode==marker4||selectedNode==marker5)
            {


               [self moveSelectedNode:marker1 fromSwipeMovement:touchPoint];


            }
            break;
        case kCCTouchEnded:

            selectedNode = nil;
            break;
        default:
            break;
    }

    lastTouchEventPoint = touchPoint;
    lastTouchEventTime = now;
}

-(void) moveSelectedNode: (CC3Billboard*) aNode fromSwipeMovement: (CGPoint) swipeMovement {

    CC3Vector vector=    CC3VectorMake(swipeMovement.x * 3, swipeMovement.y * 3, 0);
    aNode.location=cc3v(aNode.location.x, aNode.location.y, 0.0);
    aNode.location=CC3VectorAdd(aNode.location,vector);    
    CCLOG(@"%@",aNode.name);
//    NSLog(@"\n\n ******MOVING****%f_____%f*****____%f",vector.x,vector.y,vector.z);


}

关于gestures - cocos3d 广告牌平移手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15603403/

相关文章:

objective-c - Xcode12 针对 Cocos3D 编译错误 : Incompatible block pointer types

ios - 如果我添加 GestureRecognizer,MapView 将不再工作

Cocos3d 中 POD 文件的性能

android - TWO_SWIPE_DOWN TAP 无法捕捉 Google Glass GDK (XE16)

Android,在可点击的小部件上做手势

iphone - 在 Cocos 3d 中动态加载 3d 对象

ios - 如何为已经构建的 native iOS 应用程序制作一个简单的 3d 对象查看器组件?

ios - Z 轴支持查看 UIView

dictionary - os x 自定义字典或自定义查找功能

Android 双击触发两次