2013-09-02 4 views
0

Je souhaite ajouter deux images-objets en remplaçant une image-objet au toucher. J'ai essayé le code suivant. cela fonctionne bien seulement quand le sprite est horizontal. Comment le faire fonctionner si le sprite est en mouvement ou non horizontal. J'utilise la physique cocos2d box2d.Ajout de deux images-objets en remplaçant une autre image-objet

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

[touchedSprite removeSelf]; 

LHSprite *myNewSprite = [loader createSpriteWithName:@"Red_10" fromSheet:@"images" fromSHFile:@"BreakGlassResources" ]; 
[email protected]"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" ]; 
[email protected]"Blue_10"; 
myNewSprite1.tag=BRICK; 
[myNewSprite1 transformPosition:ccp(pos.x+myNewSprite.size.width,pos.y)]; 
myNewSprite1.anchorPoint=ccp(1,0.5); 

Merci à l'avance. :)

+0

ce que vous avez fait dans la méthode touchBeginOnSprites? –

+0

Je gère les touches de cette méthode. Si je touche un sprite avec le nom "aaa" qui devrait être remplacé par deux sprites. – Alisa

+0

comme ce code fonctionne dans un cas, il semble que votre problème ne soit pas dans cette partie du code. partagez votre code de détection tactile. – Morion

Répondre

0

Selon votre extrait de code, vous ne définissez jamais les nouvelles positions des sprites. Les anchorPosition et transformPosition sont relatifs à l'image-objet elle-même et définissent des ancrages pour la position et la transformation, mais ne positionnent pas l'image-objet elle-même. la propriété position est ce que vous cherchez.

+0

J'ai changé la propriété de rotation de mes sprites nouvellement ajoutés en rotation de touchedSprite. Cela m'a aidé. Merci pour votre réponse Stephane Delcroix. – Alisa

+0

Vous pouvez ensuite «accepter» la réponse. –

+0

Je n'ai pas changé de position, j'ai plutôt défini la propriété de rotation. – Alisa

Questions connexes