2014-01-20 31 views
0

我一直在看圖7-3在這個精靈套件文檔:https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Actions/Actions.html,但它讓我很困惑。他們似乎給相同名稱的多個東西,例如相機/角色。如何檢查SKSpriteNode的底部是否在當前可見場景內

我在默認SKScene,MyScene類。在initWithSize中,我創建了SKNode *myWorld,就像文檔中的建議。然後我有一系列方法將我的背景圖像添加到myWorld。滾動工作正常,但我想要做的是當myWorld中的圖像底部到達場景的底部時停止垂直滾動。對於我的生活,我無法弄清楚如何參考myWorld的底部。對於場景的底部,我簡單地做

CGPoint sceneFarBottomSide = CGPointMake(0, -self.size.height/2); 

其中self.anhorPoint設置爲[0.5,0.5]。

我該如何參考myWorld的底部?

+1

檢查蘋果的冒險碼,移動攝像機部分:https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/CodeExplainedAdventure /KeepingUptoDate/KeepingUptoDate.html#//apple_ref/doc/uid/TP40013140-CH9-SW1 –

回答

0

它結束了非常容易解決。感謝安德烈指出我在冒險遊戲上的蘋果文檔,這真是讓我失望,並清除了我的一些理解。下面是幾行代碼來獲得我所追求的行爲:

// Move world 
if (monkeyPosition.y > 0 && monkeyPosition.x > 0) { 
    [myWorld setPosition:CGPointMake(-monkeyPosition.x, -monkeyPosition.y)]; 
} else if (monkeyPosition.y > 0 && monkeyPosition.x < 0) { 
    [myWorld setPosition:CGPointMake(0, -monkeyPosition.y)]; 
} 
1

myWorld的邊緣是你設定的任何東西。換句話說,myWorld是一個本身不是視圖或精靈的節點。它只是一個包含精靈或形狀子對象的對象(例如,SKSpriteNodes或SKShapeNodes)。當您將精靈添加到myWorld時,請跟蹤他們的位置。然後用他們的位置來定義myWorld的「大小」。您可以使用此大小信息以及myWorld.position來知道myWorld的(底部)邊緣何時到來。

相關問題