1
我想制作一个单一的游戏,当您触摸星形图像时,它会从Star类中加载一个星形精灵。我的星形图像有自己的类(StarImage),当使用级别类方法时,它会调用我的Level类StarLauncher方法。问题是,当我触摸星号时,它会调用级别类StarLauncher方法,但它根本不会添加星号精灵。它虽然可以打印堵塞的消息..Cocos2d在调用其他类的方法时无法添加精灵
这里是级别类
#import "Level.h"
#import "CCPhysics+ObjectiveChipmunk.h"
#import "Star.h"
#import "StarImage.h"
@implementation Level{
CCPhysicsNode *_physicsNode;
}
-(void)StarLauncher{
CCLOG(@"haaaaaaaaaaa");
Star *_Star2=(Star*)[CCBReader load:@"Star"];
[_Star2 setScale:0.5];
_Star2.position=CGPointMake(160,478);
[_physicsNode addChild:_Star2];
}
-(void) update:(CCTime)delta{
[self StarLauncher]; // when called here it will do add operation
}
@end
,这里是我的StarImage类
#import "StarImage.h"
#import "Level.h"
@implementation StarImage{
}
- (void)didLoadFromCCB{
self.userInteractionEnabled = TRUE;
}
-(void)touchBegan:(CCTouch *)touch withEvent:(CCTouchEvent *)event{
}
-(void)touchEnded:(CCTouch *)touch withEvent:(CCTouchEvent *)event{
Level *_LevelOlio=[[Level alloc]init];
[_LevelOlio StarLauncher]; // it calls but the methode will only print clog
}
的问题是,调用时StarLauncher不会做加法运算从StarImage,但是当我在Level类中调用它时,它确实有效......我在这里错过了什么?为什么当我从其他类调用它时,它不会执行相同的代码?但为什么它打印堵塞?当我调试它时,它显示,当从StarImage调用它运行的代码,但没有出现在模拟器中