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調用它運行的代碼,但沒有出現在模擬器中