我想讓一個精靈旋轉一個手指觸摸。老實說,我不知道該怎麼做,spriteKit是新的。 任何想法?如何在spriteKit上觸摸圖像/精靈?
1
A
回答
1
這將使用動作將精靈旋轉到觸摸的位置。如果您希望在拖動手指時旋轉它。您應該刪除該操作並改爲在touchesMoved:
上執行計算。
-(void)didMoveToView:(SKView *)view {
sprite = [SKSpriteNode spriteNodeWithImageNamed:@"Spaceship"];
sprite.xScale = 0.5;
sprite.yScale = 0.5;
sprite.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2);
[self addChild:sprite];
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
for (UITouch *touch in touches) {
CGPoint location = [touch locationInNode:self];
float dY = sprite.position.y - location.y;
float dX = sprite.position.x - location.x;
float angle = atan2f(dY, dX) + 1.571f;
[sprite runAction:[SKAction rotateToAngle:angle duration:0.5 shortestUnitArc:YES]];
return;
}
}
或者:???(請記住,從touchesBegan:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
for (UITouch *touch in touches) {
CGPoint location = [touch locationInNode:self];
float dY = sprite.position.y - location.y;
float dX = sprite.position.x - location.x;
float angle = (atan2f(dY, dX)) + 1.571f;
sprite.zRotation = angle;
}
}
+0
)正如你所說,我希望它旋轉它是在拖動手指的同時,但是你的意思是通過去除動作,精靈如何在沒有交流的情況下旋轉重刑?代碼可能會有幫助...再次感謝! – 2014-10-16 20:11:26
+0
touchesMoved:方法在每次觸摸移動時都會被調用,這是相當多的時間。如果每次添加一個動作,它可能看起來很奇怪,而且效率很低。所以你必須手動更新旋轉。我更新了答案替代解決方案。 – gzafra 2014-10-16 21:16:54
相關問題
- 1. (Swift SpriteKit)在觸摸方向上旋轉精靈
- 2. 圖像精靈和觸摸設備
- 3. 小精靈觸摸
- 4. SpriteKit:在大精靈中創建可觸摸區域 - 基於精靈內部觸摸的位置來處理SKA
- 5. SpriteKit - CGRects,精靈,觸摸 - 目前爲止沒有任何工作
- 6. 如何讓精靈旋轉觸摸Cocos2d
- 7. 如何檢測子精靈觸摸
- 8. 觸摸並找到精靈
- 9. 觸摸後動畫精靈?
- 10. 觸摸時刪除精靈
- 11. 旋轉精靈觸摸libgdx
- 12. Cocos2d中的觸摸精靈
- 13. SpriteKit根據觸摸位置旋轉精靈
- 14. 如何檢測上旋轉精靈觸摸在cocos2d
- 15. 如何創建一個精靈,然後用Swift通過觸摸刪除SpriteKit中的特定精靈?
- 16. 根據用戶觸摸位置旋轉精靈圖像?
- 17. cocos2D和Box2D:如何獲得精確觸摸的精靈?
- 18. Cocos2d - 基於觸摸改變精靈動畫(精靈表)
- 19. 如何檢測是另一個精靈的孩子的精靈的觸摸
- 20. 檢測觸摸小精靈並convertToNodeSpaceAR
- 21. 觸摸後添加精靈cocos2d
- 22. 禁用精靈背後的觸摸
- 23. 觸摸節點是精靈套件
- 24. 用觸摸旋轉一個精靈 - Cocos2d
- 25. 讓精靈可以拖動當觸摸
- 26. Cocos2d-js精靈陣列觸摸事件
- 27. cocos2d的精靈禁用觸摸
- 28. 觸摸無邊界的精靈盒子
- 29. 觸摸精靈的可見部分
- 30. 的cocos2d的Android觸摸精靈
刪除代碼你希望它繼續只要你觸摸旋轉或在設定時間或固定金額 – Egghead 2014-10-11 21:30:15
你想要根據用戶的觸摸位置將精靈旋轉到特定的角度,還是無限期地旋轉精靈? – 0x141E 2014-10-11 21:34:34
感謝人(:這個人在那裏解決了它(:: – 2014-10-12 14:18:33