我想知道什麼是用於移動2D遊戲的觸摸控制的最佳實踐方法,特別是拖動突破/打磚塊風格遊戲的槳。如果沒有簡單的Unity設備來做這件事,會感到驚訝,因爲我認爲這將成爲手機遊戲普及的標準功能。 任何意見或教程鏈接,特別是拖動遊戲對象,將不勝感激。謝謝。統一 - 在2D遊戲中拖動遊戲對象的移動觸摸控制
0
A
回答
0
我的建議是使用統一的用戶界面功能(在Unity 4.6中引入)使用腳本像這樣的:
public class DragControl : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
private bool m_Used;
private Vector3 m_MouseStartPosition;
private Vector3 m_ItemStartPosition;
public void Start()
{
m_Used = false;
}
public void Update()
{
if(m_Used)
{
GetComponent<RectTransform>().anchoredPosition = new Vector2(m_ItemStartPosition.x + (Input.mousePosition.x - m_MouseStartPosition.x), m_ItemStartPosition.y + (Input.mousePosition.y - m_MouseStartPosition.y));
// or you can set the y value to m_ItemStartPosition.y only if you don't want the paddle to move on Y axis
}
}
public void OnPointerDown(PointerEventData eventData)
{
m_Used = true;
m_MouseStartPosition = Input.mousePosition;
m_ItemStartPosition = GetComponent<RectTransform>().anchoredPosition;
}
public void OnPointerUp(PointerEventData eventData)
{
m_Used = false;
}
}
對於這個工作,你必須啓用UI項光線投射(保持「光線投射目標「選中),並且不會阻止在您的UI層上顯示您的項目。
另請注意,如果您不需要它,您可以使用Input.multiTouchEnabled = false;
禁用多點觸摸輸入。
0
相關問題
- 1. 拖動遊戲對象
- 2. RaycastHit2D - 觸摸2D遊戲
- 3. 移動遊戲對象
- 4. 觸摸和拖動問題Unity 2D遊戲
- 5. 在2D遊戲中滾動?
- 6. 如何在2D遊戲中移動NSImageView?
- 7. 2D遊戲的統一
- 8. SpriteKit遊戲:移動遊戲查看
- 9. 「拖動控制」爲Android遊戲
- 10. 統一開始遊戲時觸摸屏
- 11. 用鼠標拖動遊戲對象
- 12. 拖動和使用此代碼在運行時移動2D遊戲對象
- 13. 用觸摸旋轉游戲對象
- 14. UIKit遊戲:遊戲對象移動動畫中的中間回調
- 15. 2D遊戲地圖的移動
- 16. 2D java遊戲中的對象(Sprite)異常移動
- 17. 移動實例化的遊戲對象
- 18. 更改遊戲中的遊戲控制
- 19. 在2D遊戲
- 20. 移動速度超過父級遊戲對象的兒童遊戲對象
- 21. iOS動畫2D遊戲
- 22. 2D遊戲動畫android
- 23. 重新啓動2D遊戲
- 24. 2D側滾動HTML5遊戲
- 25. 來回移動遊戲對象
- 26. 我不能讓我的2D遊戲對象移動
- 27. 2D遊戲控制問題 - 旋轉和移動
- 28. 簡介:一些遊戲對象移動,一些不移動
- 29. 2D遊戲引擎如何組織遊戲對象?
- 30. 統一遊戲觸摸按鈕 - 對象只向右移動,而不是向左移動
謝謝,請看看這個。 – Kaz