我在Unity中創建了2D遊戲,並且想要查看是否有人有任何關於如何改進腳本的建議,一個突破/ arkanoid風格的遊戲。我知道有更復雜的方法來拖動對象,但這對我來說確實很好,但我遇到的唯一問題是,當我在移動設備上測試我的遊戲時,拖動不是100%銳利,而且當我停止拖動槳時似乎滯後曾經如此輕微。我的移動設備沒有任何問題,因爲我玩過從Play商店下載的其他分組遊戲,並且拖動非常脆。Unity - 通過鼠標/觸摸拖動RigidBody2D Gameobject的最佳方式
下面的腳本附在槳上。
Vector3 dist;
float posX;
float posY;
void OnMouseDown(){
dist = Camera.main.WorldToScreenPoint(transform.position);
posX = Input.mousePosition.x - dist.x;
posY = Input.mousePosition.y - dist.y;
}
void OnMouseDrag(){
Vector3 curPos = new Vector3(Input.mousePosition.x - posX, Input.mousePosition.y - posY, dist.z);
Vector3 worldPos = Camera.main.ScreenToWorldPoint(curPos);
transform.position = worldPos;
}
不要你的意思'Camera.main.ScreenToWorldPoint'? –