通过替换另一个精灵来添加两个精灵

时间:2013-09-02 06:27:19

标签: cocos2d-iphone box2d-iphone

我想在触摸时替换一个精灵来添加两个精灵。我尝试了以下代码。只有当精灵是水平的时候才能正常工作。如果精灵正在移动或不横向,如何使其工作。

我正在使用cocos2d box2d物理。

CCLOG(@"Touch Detected");
CGPoint pos=touchedSprite.position;

[touchedSprite removeSelf];

LHSprite *myNewSprite = [loader createSpriteWithName:@"Red_10" fromSheet:@"images" fromSHFile:@"BreakGlassResources" ];
myNewSprite.uniqueName=@"Red_10";
myNewSprite.tag=BRICK;
[myNewSprite transformPosition:ccp(pos.x,pos.y)];
myNewSprite.anchorPoint=ccp(1,0.5);
[myNewSprite registerTouchBeganObserver:self selector:@selector(touchBeginOnSprites:)];

LHSprite *myNewSprite1 = [loader createSpriteWithName:@"Blue_10" fromSheet:@"images" fromSHFile:@"BreakGlassResources" ];
myNewSprite1.uniqueName=@"Blue_10";
myNewSprite1.tag=BRICK;
[myNewSprite1 transformPosition:ccp(pos.x+myNewSprite.size.width,pos.y)];
myNewSprite1.anchorPoint=ccp(1,0.5);

先谢谢。 :)

1 个答案:

答案 0 :(得分:0)

根据您的代码段,您永远不会设置新的精灵位置。 anchorPositiontransformPosition与精灵本身相关,并定义了位置和变换的锚点,但不定位精灵本身。 position属性是您正在寻找的。