有一些遊戲有一些小圖片作爲精靈,可以通過觸摸移動。如果精靈是一個較大的圖片,觸摸是非常正常的。我們可以使用函數CGRectContainsPoint
檢查精靈。但當精靈很小時,這個函數看起來不太好。還有其他方法可以解決這個問題嗎?小精靈觸摸
Q
小精靈觸摸
2
A
回答
1
我寫了一個辦法,你可以使用,以減輕其@FrustratedWithFormsDesigner描述的「胖手指」的問題:
http://codecube.net/2010/03/approximating-touch-points/
...如果你比較一下用戶的 觸摸點對實體 的頭寸和簡單地選擇 最接近的一個(無論是否 它是35或36像素)?
這篇文章是用C#編寫的windows phone,但這個概念應該適用。基本上,在用戶的觸摸和屏幕上的實體之間進行距離比較。使觸摸按距離操縱最近的那個,並且避免使用剛性定義的正方形來檢測觸摸。
+0
這是一個很好的方法,不僅因爲它可以讓你觸摸小精靈,而且它可以在一個小區域內對幾個小精靈進行消歧(即選擇最接近的小精靈)。你仍然可能想要限制你看起來的距離;選擇一個距離250像素的精靈會讓你的應用感到奇怪。 – 2010-07-13 18:50:22
0
您可以允許在精靈周圍的空白處進行觸控。例如如果觸摸位於精靈的10個像素內,請將其視爲正在觸摸精靈。
這樣做的一種方法是在調用CGRectContainsPoint
之前展開精靈的矩形。下面的代碼將通過10 x和y擴大矩形:
CGRect expanded = CGRectInset(spriteRect, -10.0, -10.0);
這樣做是創建一個圍繞觸摸一個矩形,並使用CGRectIntersectsRect
檢查觸摸RECT與精靈重疊的另一種方式。
相關問題
- 1. 檢測觸摸小精靈並convertToNodeSpaceAR
- 2. 觸摸並找到精靈
- 3. 觸摸後動畫精靈?
- 4. 觸摸時刪除精靈
- 5. 旋轉精靈觸摸libgdx
- 6. Cocos2d中的觸摸精靈
- 7. Cocos2d - 基於觸摸改變精靈動畫(精靈表)
- 8. 觸摸後添加精靈cocos2d
- 9. 禁用精靈背後的觸摸
- 10. 圖像精靈和觸摸設備
- 11. 觸摸節點是精靈套件
- 12. 用觸摸旋轉一個精靈 - Cocos2d
- 13. 讓精靈可以拖動當觸摸
- 14. Cocos2d-js精靈陣列觸摸事件
- 15. cocos2d的精靈禁用觸摸
- 16. 觸摸無邊界的精靈盒子
- 17. 如何讓精靈旋轉觸摸Cocos2d
- 18. 觸摸精靈的可見部分
- 19. 的cocos2d的Android觸摸精靈
- 20. 如何檢測子精靈觸摸
- 21. CCPanZoomController +可觸摸/可點擊的精靈
- 22. cocos2d根據觸摸的位置精靈
- 23. cocos2d js - 觸摸疊加在一起的小精靈
- 24. SpriteKit:在大精靈中創建可觸摸區域 - 基於精靈內部觸摸的位置來處理SKA
- 25. cocos2D和Box2D:如何獲得精確觸摸的精靈?
- 26. 如何檢測是另一個精靈的孩子的精靈的觸摸
- 27. 使用nodeAtPoint選擇我用手指觸摸的精靈不選擇精靈
- 28. 將精靈移動到觸摸點增加速度觸摸得越長
- 29. 煎茶觸摸不靈
- 30. ds觸摸屏靈敏度
嗯,可能需要用戶使用手寫筆,而不是一個大胖乎乎的手指,而不是一個精美的尖端? – FrustratedWithFormsDesigner 2010-05-18 14:44:55