我想讓一個精靈旋轉一個手指觸摸。老實說,我不知道該怎麼做,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. 圖像精靈和觸摸設備
- 2. 小精靈觸摸
- 3. 如何識別非常規精靈圖像的觸摸?
- 4. 如何讓精靈旋轉觸摸Cocos2d
- 5. 觸摸後動畫精靈?
- 6. 如何檢測上旋轉精靈觸摸在cocos2d
- 7. 如何創建一個精靈,然後用Swift通過觸摸刪除SpriteKit中的特定精靈?
- 8. 根據用戶觸摸位置旋轉精靈圖像?
- 9. cocos2D和Box2D:如何獲得精確觸摸的精靈?
- 10. 用觸摸旋轉一個精靈 - Cocos2d
- 11. 檢測觸摸小精靈並convertToNodeSpaceAR
- 12. Cocos2d-js精靈陣列觸摸事件
- 13. cocos2d的精靈禁用觸摸
- 14. 如何將精靈放置在觸摸位置
- 15. 如何讓某些精靈在觸摸後消失 - Cocos2d
- 16. 如何使用cocos2d在觸摸時移動精靈?
- 17. 獲取在Cocos2D中的精靈上的觸摸點的alpha值
- 18. 在Android上使用圖像精靈
- 19. CSS圖像精靈
- 20. CSS圖像精靈
- 21. SpriteKit敵方精靈在與玩家接觸後跳過
- 22. 如何檢測一個孩子精靈的觸摸
- 23. 如何更改重疊精靈的觸摸優先級
- 24. Cocos2dx,如何檢測部分精靈的觸摸?
- 25. 如何在變焦狀態下檢測觸摸動作是否觸及精靈?
- 26. Cocos2d:檢測旋轉精靈上的觸摸?
- 27. Cocos2d輸入圖層僅接收精靈頂部的觸摸
- 28. 如何找到精靈圖像
- 29. 如果在AndEngine中觸摸是精靈或正文,如何檢查觸摸事件?
- 30. GWT UiBinder和圖像精靈
刪除代碼你希望它繼續只要你觸摸旋轉或在設定時間或固定金額 – Egghead 2014-10-11 21:30:15
你想要根據用戶的觸摸位置將精靈旋轉到特定的角度,還是無限期地旋轉精靈? – 0x141E 2014-10-11 21:34:34
感謝人(:這個人在那裏解決了它(:: – 2014-10-12 14:18:33