我刚刚开始我的第一场比赛而且我正在使用Sprite Kit,因为它似乎很容易入手(之前我曾在java工作过)。
我的问题如下。
这段代码:
if(self.firstFrame == YES){
[self.hero1 setHp:100];
NSLog(@"Hero 1 HP: %i...",[self.hero1 hp]);
self.firstFrame = NO;
NSLog(@"First frame passed!");
}
生成此输出:
2013-11-29 12:36:23.408 SpriteKitGame1[10548:70b] Hero 1 HP: 0...
2013-11-29 12:36:23.408 SpriteKitGame1[10548:70b] First frame passed!
无论我将self.hero1 hp
设置为什么。总是0马力。
我在这里做错了什么?
答案 0 :(得分:1)
您的self.hero1
在那里是零,您应该先分配并初始化它。
要小心,因为在Obj-C中,在nil上调用方法不会给你任何警告/错误。