我正在 Unity 中创建一个 2D 游戏,并想看看是否有人对我如何改进下面的脚本有任何建议,我使用该脚本在突破/打砖块风格的游戏中拖动桨。我知道有更复杂的方法来拖动对象,但这对我来说没问题,但我遇到的唯一问题是,当我在移动设备上测试我的游戏时,拖动不是 100% 清晰,当我停止拖动时,桨似乎滞后如此轻微。我的移动设备没有任何问题,因为我玩过从 Play 商店下载的其他突破性游戏,并且拖动非常清晰。
下面的脚本附在桨上。
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;
}