2014-04-05 84 views
0

我面臨着雪碧套件一個奇怪的問題(在OS X上,並沒有嘗試過在iOS):我創造我的場景與此代碼:奇怪的大小

SKScene *scene = [MyScene sceneWithSize:CGSizeMake(1280, 800)]; 

當我創建一個節點,就像這樣:

SKSpriteNode* ground = [SKSpriteNode spriteNodeWithColor:[NSColor brownColor] size:CGSizeMake(1280, 800)]; 

我不明白的是,即使我創造我的精靈與同尺寸比我的場景,我得到這個: enter image description here

正如你看到的,我的精靈,棕色,比我的場景(藍色背景)小兩倍。

你知道爲什麼嗎?

+2

順便說一句:如果你正在爲iOS和Mac OSX開發,那麼使用'SKColor'而不是'NSColor'。 –

+0

@ user867635感謝您的建議!我混淆了這兩個! –

+1

當我開始使用Sprite Kit時,我也對此感到困惑。但是'SKColor'只是一個宏,可以解析爲iOS上的UIColor和OSX上的NSColor。 –

回答

3

只需添加:

ground.anchorPoint = CGPointZero; 

ground.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2); 


SKSpriteNode的定位點是在中心(0.5,0.5),默認positionCGPointZero。所以你只能看到你的理由的右上角。

+0

非常感謝,它的工作原理!順便說一句,爲什麼我需要這樣做?我認爲任何精靈的默認位置(0; 0)!? –

+1

你是對的,但定位點在(0.5,0.5)。我用更詳細的解釋編輯了我的答案 –

+0

好的,謝謝!我現在明白了更好! –