在cocos2d - iPhone平滑地拖动一个精灵 [英] Smoothly drag a Sprite in cocos2d - iPhone

查看:127
本文介绍了在cocos2d - iPhone平滑地拖动一个精灵的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经实现了对sprite对象的拖动如下。

I have implemented a drag on a sprite object as follows..

-(BOOL)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

UITouch * touch = [touches anyObject];
CGPoint location = [[Director sharedDirector] convertCoordinate: [touch locationInView:touch.view]];    
[diskSprite setPosition:ccp(location.x , location.y )];
return kEventHandled;
}

但此拖动不顺畅.....

but this dragging is not smooth..... when i drag fast with my thumb the object left from the path.

感谢

推荐答案

可能有点晚了,但我在寻找一个类似的东西。
我发现这个伟大的教程解释一切:
http://www.raywenderlich.com/2343/how-to-drag-and-drop-sprites-with-cocos2d

Probably a little bit late but I was searching for a similar thing. I found this great Tutorial which explained everything: http://www.raywenderlich.com/2343/how-to-drag-and-drop-sprites-with-cocos2d

- (void)ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event {       
    CGPoint touchLocation = [self convertTouchToNodeSpace:touch];

    CGPoint oldTouchLocation = [touch previousLocationInView:touch.view];
    oldTouchLocation = [[CCDirector sharedDirector] convertToGL:oldTouchLocation];
    oldTouchLocation = [self convertToNodeSpace:oldTouchLocation];

    CGPoint translation = ccpSub(touchLocation, oldTouchLocation);    
    CGPoint newPos = ccpAdd(mySpriteToMove.position, translation);
    mySpriteToMove.position = newPos;
}

这篇关于在cocos2d - iPhone平滑地拖动一个精灵的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆