我有一个小应用程序,它使用cocos2d来运行游戏的四个“级别”,其中每个级别完全相同。第四级运行后,我想显示一个结束游戏场景。我能够处理这个问题的唯一方法是制作四种方法,每种方法一种方法。毛。
我使用cocos2d和基本的Cocoa框架多次遇到这种情况。那么我可以计算一个方法的调用次数吗?
答案 0 :(得分:3)
每次调用方法时,你能只增加一个实例变量整数吗?
我无法在评论中格式化代码,因此要详细说明:
在头文件中,添加一个整数作为实例变量:
@interface MyObject : NSObject {
UIInteger myCounter;
}
然后在你的方法中,增加它:
@implementation MyObject
- (void)myMethod {
myCounter++;
//Do other method stuff here
if (myCounter>3){
[self showEndGameScene];
}
}
@end
答案 1 :(得分:2)
我不知道你的方式是否是最好的方式,或者如果我的方式是,但是像纳撒尼尔所说,你只需要定义一个整数来保存@interface
中的计数:
@interface MyClass : NSObject {
int callCount;
}
然后该方法可以通过执行以下操作来增加:
- (void) theLevelMethod {
callCount++;
// some code
}
确保在构造函数或等效的callCount
中将viewDidLoad
变量初始化为0。然后在检查计数的代码中,您可以检查:
if (callCount == 4) {
// do something, I guess end scene
}
然后,我想你可以简单地做这样的事情:
for (int i = 0; i < 4; i++) {
[self theLevelMethod];
}
[self theEndScene];
我不知道你的游戏逻辑是如何工作的,但我想这样可行。
很抱歉,如果我误解了你的问题。