這是一個關於實施最佳實踐的問題。舉個例子,我會參考一個叫做Pixel Claw的簡單遊戲。Swift SKSpriteNode:複雜的雪碧紋理?
假設我有一個SKSpriteNode
類似於Pixel Claw的爪子,因爲SKSpriteNode
可能是「持有」是可變的(但在可能性方面有限,例如四個不同的對象)。
節點SKSpriteNode
所持有的節點本身沒有任何代理。
因此,我的問題是:使用不同的紋理,如爪,持有物體a的爪,持有物體b的爪等等,還是有兩個SKSpriteNode
s,並將SKSpriteNode
與爪紋理放在一起到SKSpriteNode
與對象紋理?
我不是在做一個爪子游戲,它只是第一個彈出我腦袋的例子,兩個都可能是合理的解決方案。前者更簡單 - 只需切換紋理,後者更具概括性。
如果後者是四周最好的解決方案,那麼如何將兩個精靈的運動「配對」呢?
這是一個非常有見識的答案,我沒有意識到'SKSpriteNode'的父母/子女關係就像那樣工作。你能否提供一些僞代碼? – SumNeuron
@SumNeuron最難的部分就是真正繪製紋理。您只需首先調用'object.removeFromParent()'以確保它沒有父級。然後調用'claw.addChild(object)'將該對象添加爲子對象。您還需要設置'object'的位置和定位點,以確保它位於正確的位置。你甚至不需要if語句。 – Sweeper