我在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'? –