2016-05-11 20 views
0

我有一個SKSpriteNode,我用這個代碼SKSpriteNode想到的是(空)後動初始化

//viewDidLoad 
bullet = [SKSpriteNode spriteNodeWithImageNamed:@"missile2"]; 
bullet.xScale = 1; 
bullet.yScale = 1; 
bullet.position = CGPointMake(67, 148); 
bullet.zRotation = M_PI; 
[self addChild:bullet]; 

初始化前一個問題,我問爲什麼我不能設置它的位置,我們確定,這是因爲精靈是空的,當我登錄NSLog(@"bullet is %@",bullet);

這是一個問題的鏈接。

Sprite position not working in Objective C, Xcode

我的問題是,爲什麼Xcode中認爲這是精靈空當我在viewDidLoad中初始化呢?

+0

聲明'bullet'變量在哪裏(不是在哪裏被初始化)? – Gliderman

+0

它在.h文件中用'SKSpriteNode * bullet'聲明;' – user3386154

回答

0

我猜你只是調用

NSLog(@"bullet is %@",bullet); 

bullet屬性初始化。

也許你把NSLog一行放在init對吧?這將是一個解釋,因爲init確實發生在viewDidLoad之前。

+0

我不完全理解發生了什麼,但是我已經完成了它的工作。事實證明,我是從另一個文件以錯誤的方式調用一個方法,我必須重新初始化它,因爲我的所有變量都設置爲0.我以不同的方式調用了該方法,並且它工作正常。 – user3386154