В моей игре cocos2d у меня есть «powerup», где, когда достигнутый, персонаж становится синим, платформа становится синей, а также фоном. Я не уверен, если я реализую это наилучшим образом, так что если у вас есть другие предложения, пожалуйста, сделать акцию! :)Доступ к переменной экземпляра из другого класса для проекта cocos2d?
Я создал класс Синий, который имеет переменную экземпляра с именем blueCalled
Я импортировал этот класс как для моего класса «Платформа», так и для моего класса «Player».
Кодирующий код включения питания и игрока находится внутри класса платформы. Это код, когда PowerUp ударил:
// try remove powerup
- (void) tryRemovePowerup
{
NSMutableArray * currentPowerUpArray = [self getcurrentPowersArr];
if(currentPowerUpArray)
{
int playerY = ((CCLayer*)(self.player)).position.y;
for(int x=0; x<[currentPowerUpArray count];x++)
{
CCSprite *powerup = [currentPowerUpArray objectAtIndex:x];
if(abs(powerup.position.x+powerup.parent.position.x-[Player initX])<50)
{
if(abs(powerup.position.y+blueberry.parent.position.y-playerY)<30 && powerup.visible && powerup.visible)
{
[power.parent powerup cleanup:YES];
CGSize winSize = [[CCDirector sharedDirector] winSize];
[[SimpleAudioEngine sharedEngine] playEffect:@"yay.wav" pitch:1 pan:0 gain:1];
// THIS IS WHERE ALL OF EFFECTS SHOULD HAPPEN
NSLog(@"powerup hit");
}
}
}
}
[self hitTestOB];
}
Место // ЭТО ГДЕ ВСЕ ДЕЙСТВИЯ ДОЛЖНЫ БЫВАЕТ, где я хочу, чтобы сделать все синим. Прямо сейчас, я планирую сделать это, установив для переменной экземпляра в классе Blue значение YES.
В методах, которые занимаются 1. кадрами основного игрока, 2. фона и 3. фреймов платформы, у меня есть инструкция if, проверяющая, является ли переменная экземпляра класса Blue ДА или НЕТ, и это действует соответственно. Однако я не знаю, как использовать переменную экземпляра из класса Blue в моей платформе и классе игрока, также я не уверен на 100%, это лучший способ реализовать powerup.
Спасибо за любую помощь вы можете предоставить мне :)
Go IOS!
это может оказаться полезным: http://www.learn-cocos2d.com/files/cocos2d-essential-reference-sample/Strategies_for_Accessing_Other_Nodes.html – LearnCocos2D