@implementation demoScene{
-(void) initializeScene {
moon *_moon=[[moon alloc]init];
}
-(void) updateBeforeTransform: (CC3NodeUpdatingVisitor*) visitor {
deltaTime =deltaTime+visitor.deltaTime;
NSLog(@"delta time=%0.12f",deltaTime);
[_moon print:deltaTime/100000];
}
@end
这是我的问题。
我想在initializeScene
方法中从moon类创建一个对象,我想在updateBeforeTransform
方法中向该对象发送消息。
当我输入这样的代码时,我无法向_moon
对象发送消息并获取“未使用的变量”警告消息。
我知道对象超出了范围,但是如果我需要从updateBeforeTransform
方法发送消息。 updateBeforeTransform
方法被称为60秒钟。所以我不想在几秒钟内创建一个对象60次。
任何建议都将不胜感激。
答案 0 :(得分:2)
您需要一个实例变量,而不是在initializeScene
方法中创建一个新变量:
@implementation demoScene {
moon *_moon; // You may already have this in the .h file - just have it in 1 place.
}
- (void)initializeScene {
_moon = [[moon alloc] init]; // assign to ivar
}
- (void)updateBeforeTransform:(CC3NodeUpdatingVisitor*) visitor {
deltaTime = deltaTime + visitor.deltaTime;
NSLog(@"delta time=%0.12f", deltaTime);
[_moon print:deltaTime / 100000];
}
@end
旁注 - 类名称应以大写字母开头。变量和方法名称以小写字母开头。