получение менюэлемента в cocos2d - PullRequest
0 голосов
/ 13 марта 2012

У меня есть ccmenuitemfont и он содержится внутри ccsprite.,событие касания назначено на menuitemfont .. мне нужно получить ссылку на ccsprite, которая содержит menuitemfont на щелчке ccmenuitemfont ... то есть мне нужно получить ссылку на родительский спрайт .. как реализовать?есть идеи ?код, который я использовал, выглядит следующим образом ..

CCSprite * ballSprite = [CCSprite spriteWithFile: imageName];[ballSprite setTag: randomNumber];

CCMenuItem *labelButton=[CCMenuItemFont itemFromString:[NSString stringWithFormat:@"%d",randomNumber]target:self selector:@selector(clickedBallLabel :)];
[labelButton setTag:randomNumber];
CCMenu *ball=[CCMenu menuWithItems:labelButton, nil];
[ball setPosition:ccp([ballSprite boundingBox].size.width/2, [ballSprite boundingBox].size.height/2)];
[ballSprite addChild:ball];
[self addChild:ballSprite];
[ballSprite setPosition:randomStartPoint];
id move = [CCMoveTo actionWithDuration:5 position:ccp(randomX, -30)];
[ballSprite runAction:move];

1 Ответ

0 голосов
/ 13 марта 2012

с моей точки зрения, в вашей программе есть логическая проблема, вы хотите, чтобы у вашей кнопки ярлыка было право записи?когда вы касаетесь его, зачем вам ссылка на родителя с помощью кнопки? но если это обязательно, вам нужна таблица спрайтов, например: [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile: @ "scene1atlas.plist"];spriteBatchNode = [CCSpriteBatchNode batchNodeWithFile: @ "scene1atlas.png"];

, затем вы можете добавить свой объект в пакетном режиме, после чего вы можете использовать [obj parent], чтобы получить родительскую ссылку

iЯ не уверен, что знаю, что вы имеете в виду, когда кнопка была нажата, шариковая пружина должна быть изменена? если так, вы можете просто поменять шариковую шпильку напрямую на другой новый спрайт, конечно, чем лучше спрайты должны быть в одномиспользуйте как можно больше данных, в противном случае, если ваш шариковый спрайт является таблицей спрайтов, используйте метод, о котором я говорил ранее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...