cocos2d:交换雪碧
问题描述:
我使用以下来交换2精灵的位置。cocos2d:交换雪碧
CCSprite *sprite1 = (CCSprite*)[self getChildByTag:tagOfFirstSprite];
CCSprite *sprite2 = (CCSprite*)[self getChildByTag:tagOfSecondSprite];
CGPoint SpritePosition1 = [sprite1 position];
CGPoint SpritePosition2 = [sprite2 position];
[sprite1 runAction:[CCMoveTo actionWithDuration:1.0 position:ccp(SpritePosition2.x, SpritePosition2.y)]];
[sprite2 runAction:[CCMoveTo actionWithDuration:1.0 position:ccp(SpritePosition1.x, SpritePosition1.y)]];
这些是box2d body.But它不工作.......任何想法??
答
我假设您使用的Box2D样本模板实现了由调度程序不断调用的“tick()”函数。该函数调用world-> step()函数,并更新box2D主体的位置,然后根据box2D主体的新位置更新精灵的位置。 当你只是调用runAction时,它不会影响Box2D主体的位置,所以每次调用tick()函数时,都会根据box2D主体的位置设置你的精灵的位置。 现在,即使你的runAction正在移动你的精灵,当tick()函数被调用时,它会在每秒钟重复几次之后重置。 我希望你能理解。
请阅读此主题以更好地理解此问题,http://www.cocos2d-iphone.org/forum/topic/6971 – Tayyab 2011-03-07 12:03:26
yes..虽然我已经发现它...但非常非常感谢您的美丽的说明.....我想你明确... – Rony 2011-03-08 04:05:36