【发布时间】:2010-10-12 02:33:58
【问题描述】:
我有一个名为“HelloWorld.m”的类和另一个名为“Person.m”的类。我在 HelloWorld.m 类中声明了 Person 实例,如下所示:
Person *person;
现在,当用户触摸屏幕时,我会触发以下方法:
[person foo];
但我收到错误消息说发送了无效的选择器。
注意:Person 类继承自 CCSprite 类。我究竟做错了什么?
Person.h:
-(void) foo;
Person.m:
-(void) foo
{
NSLog(@"foo called!");
}
更新 1:在 HelloWorld.h 和 HelloWorld.m 中,我已将 person 声明为属性。这是对 person.foo 方法的调用。
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.person foo];
}
HelloWorld.h:
// When you import this file, you import all the cocos2d classes
#import "cocos2d.h"
#import "Person.h"
// Importing Chipmunk headers
#import "chipmunk.h"
// HelloWorld Layer
@interface HelloWorld : CCLayer
{
cpSpace *space;
Person *person;
}
// returns a Scene that contains the HelloWorld as the only child
+(id) scene;
-(void) step: (ccTime) dt;
-(void) addNewSpriteX:(float)x y:(float)y;
@property (nonatomic,retain) Person *person;
@end
【问题讨论】:
标签: cocos2d-iphone