我如何將兩個SKSpriteNodes分組在一起,以便我可以將它們旋轉爲好像它們一樣?假設一個SKSpriteNode是一根繩子,另一個是連接到繩索末端的一個球。我怎樣才能讓它看起來像他們一起擺動? SKAction會做什麼?如何將兩個SKSpriteNodes z一起旋轉?
0
A
回答
4
兩個選項:
把兩者在SKNode和旋轉SKNode(圍繞一定的錨點)
SKNode *container = [[SKNode alloc] init]; [container addChild:ballSprite]; [container addChild:ropeSprite]; container.zRotation = someValue;
或單獨旋轉並把它們移動它們,因此看起來好像他們一起旋轉。
0
可能不是最優雅的解決方案,但這裏是我如何將SKSpriteNodes添加到SKNode(容器)。 containerArray包含應該添加的節點。 newSpriteName(NSString)用於決定精靈是正面還是背面顯示。
// Add a container
_containerNode = [SKNode node];
_containerNode.position = _theParentNodePosition;
_containerNode.name = @"containerNode";
[_background addChild:_containerNode];
for (SKNode *aNode in containerArray) {
if (![aNode.name isEqualToString:@"background"] && ![aNode.name isEqualToString:@"title1"] && ![aNode.name isEqualToString:@"title2"]) {
// Check if "back" sprite should be added or the front face
if ([[aNode.name substringFromIndex:[aNode.name length] - 1] isEqualToString:@"b"]) {
newSpriteName = @"back";
} else {
newSpriteName = aNode.name;
}
// Prepare the new node
SKSpriteNode *newNode = [SKSpriteNode spriteNodeWithImageNamed:newSpriteName];
newNode.name = aNode.name;
newNode.zPosition = aNode.zPosition;
newNode.position = CGPointMake(aNode.position.x - _theParentNodePosition.x, aNode.position.y - _theParentNodePosition.y);
// Delete the old node
SKNode *deleteNode = [_background childNodeWithName:aNode.name];
[deleteNode removeFromParent];
// Add the new node
[_containerNode addChild:newNode];
}
}
然後做旋轉的DrummerB建議
相關問題
- 1. 如何將兩個遊戲對象一起旋轉?
- 2. AS3:旋轉VS旋轉Z
- 3. 字符Z旋轉
- 4. 如何使用SKPhysicsJointFixed加入兩個SKSpriteNodes
- 5. 一起旋轉一個ImageView一個TextView
- 6. 將SKSpriteNodes定位在現有旋轉SKSpriteNode的角落
- 7. threejs旋轉x和z單獨工作,但一起失敗
- 8. 如何旋轉一個div
- 9. 查找兩個法線向量之間的x,y,z旋轉
- 10. 如何旋轉兩個UIView的?
- 11. 如何旋轉兩個Flexbox行?
- 12. 如何將矢量旋轉到與Z軸對齊的位置?
- 13. 如何將兩個div放在一起?
- 14. 如何將兩個num_rows一起添加?
- 15. 如何使圖像自旋/圍繞z軸旋轉
- 16. 如何將一個Pyglet精靈與一個Pymunk形狀綁定在一起以便它們一起旋轉?
- 17. 如何旋轉兩個表中的一個?
- 18. 如何結合兩個ggplots與一個旋轉?
- 19. 如何將SKLabelNode與其父SKShapeNode一起旋轉?
- 20. 如何將相機和模型一起旋轉?
- 21. 如何將旋轉的TextBlocks更接近一起?
- 22. 如何將位圖與Circle ProgressBar一起旋轉?
- 23. 將元素保持在一起時,其中一個旋轉WPF
- 24. 如何將兩個不同的旋轉應用於同一個Blender對象?
- 25. 如何將一個精靈旋轉到一個點?
- 26. 把兩個SKSpriteNodes作爲孩子到SKNodes
- 27. 當旋轉的形狀,它與旋轉的一起停留在一起
- 28. 旋轉兩個球體
- 29. 同時旋轉兩個div
- 30. unity2d沿z軸旋轉一個遊戲對象
你能後的一個例子如何嵌套兩個SKSpriteNodes成一個SKNode? – blueicecream
已更新的答案。您當然必須更新球和繩索的位置,因爲現在您必須在容器節點的座標空間中定義它們。 – DrummerB
如何修改定位點? – Gujamin