4
我需要能夠觸摸我的數組中的特定移動精靈並對其執行操作。但是,當我執行我的MoveTo操作時,精靈位置不會更新。幫幫我!在陣列中獲取精靈的位置cocos2d`
陣:
int numbreds = 7;
redBirds = [[CCArray alloc] initWithCapacity: numbreds];
for(int i = 1; i<=numbreds; i++){
int xvalue = ((-50*i) + 320);
int yvalue= 160;
if (i==4)
{
CCSprite *parrot = [CCSprite spriteWithFile:@"taco.png"];
[birdLayer addChild:parrot];
[self movement]; //the action that moves the array horizontally
parrot.position = ccp(xvalue,yvalue);
parrot.tag=100;
觸摸
-(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:[touch view]];
location = [[CCDirector sharedDirector] convertToGL:location];
CCSprite *mark = (CCSprite *)[birdLayer getChildByTag:100];
if (CGRectContainsPoint([mark boundingBox], location))
{
CCLOG(@"YAY!");
}
的問題是CCSprite的位置不會實際更新或移動。好極了!只在精靈的原始位置生成。
的問題是,鸚鵡精靈位置不更新。所以parrot.position.x保持在初始位置。 – jnicz
試試這個TouchableSprites類。 SetCanTrack:YES對我來說工作正常。 http://www.cocos2d-iphone.org/forum/topic/5971 – Winston
實際上,精靈不會移動,因爲在迭代中,最後一個精靈永遠是被調用的精靈,無論標籤如何。 – Winston