Я делаю игру для iOS с помощью конструктора спрайтов. И я разработал его в стиле настольной игры. Я хочу, чтобы пользователь нажал кнопку воспроизведения, которая запускает метод play
. Затем он генерирует случайное число, которое должно отображаться на этикетке. Метка и кнопка находятся на игровой сцене. Сцена игрового процесса является подклассом CCNode
. Код находится в классе Gameplay
, который является подклассом CCNode
. Я узнал, что метка нулевая. Как мне сделать это не равным нулю? Соединение кода для моей этикетки — это корневая переменная документа, назначенная на _randNumLabel
. Моему соединению с игровым кодом присвоено значение Gameplay
. Это мой журнал после того, как я открыл сцену и нажал кнопку:
2014-06-09 17:20:12.565 Sunk[6037:60b] CCBReader: Couldn't find member variable: _randNumLabel
2014-06-09 17:20:12.567 Sunk[6037:60b] CCBReader: Couldn't find member variable: _affectLabel
2014-06-09 17:20:19.513 Sunk[6037:60b] Nil`
Игнорируйте _affectLabel
, так как это будет исправлено, если _randNumLabel
будет исправлено.
#import "Gameplay.h"
@implementation Gameplay
CCLabelTTF *_randNumLabel;
- (void)play {
if (_randNumLabel == nil)
{
CCLOG(@"Nil");
}
if (_randNumLabel !=nil)
{
CCLOG(@"play button pressed!");
int max = 6;
int randNumber = (arc4random() % max) + 1; // Generates a number between 1-6.
CCLOG(@"Random Number %d", randNumber);
_randNumLabel.string = [NSString stringWithFormat:@"Number: %d", randNumber];
}
}
- (void)update:(CCTime)delta {
}
@end