我有(我假設)調用另一個班級的一般問題。打電話給其他班級不會執行
其他CCLayer召喚:
MyLayer *myLayer = [MyLayer node];
[myLayer methodName];
這是在 'myLayer' 的方法實現:
-(void) methodName
{
NSLog(@"methodName gets called"); // works
[mySprite runAction:[CCBlink actionWithDuration:1.0 blinks:5]]; // works not
}
上 'mySprite上' 的動作不工作(即類內調用時) ,但似乎存在 問題,與此層類有關的「權限」或「層級」問題妨礙了從外部執行命令 。
因爲我是Objective-C的初學者,對我來說這是一種'神祕'。 我很感激任何幫助或對此的見解,這對許多新手會有所幫助。
謝謝!
BTW:
@interface
CCSprite *mySprite;
@property (nonatomic,retain) CCSprite *mySprite;
@implementation
@synthesize mySprite;
mySprite = [CCSprite spriteWithSpriteFrameName:@"mySprite.png"];
是否檢查'mySprite'不是'nil'? – albertamg
是的,正如我從內部提到它正在工作 – user813921
當你說它不工作,你的意思是它崩潰?請注意,在最後一行代碼中,由於您不是使用該屬性,因此您不保留'spriteWithSpriteFrameName:'返回的值,因此您直接訪問後備伊娃。 – albertamg