我正在尝试通过触摸和拖动来移动和对象。我正在我的三星Galaxy SIII上测试它。我使用了下面的代码。由于某种原因,它移动得比我的手指快。它应该一直在我的手指下面。出了什么问题?(注:我还没有做“只有当你触摸到它时才移动对象”的部分,所以现在它移动到我触摸的任何地方)。
#pragma strict
var speed : float = 1;
function Start () {
}
function Update () {
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) {
// Get movement of the finger since last frame
var touchDeltaPosition:Vector2 = Input.GetTouch(0).deltaPosition;
// Move object across XY plane
transform.position = Vector2.Lerp(transform.position,
touchDeltaPosition,
Time.deltaTime*speed);
}
}
1条答案
按热度按时间lhcgjxsq1#
这是我使用的,它可能是一个更好的选择,它是基于相机,你的Vector2. Lerp不能正常工作的原因,我认为是因为你的时间变量,你可以参考这个Lerp,调整你的“t”变量,直到它对你有好处,或者你可以尝试这个,这是我使用的,另外,我从x减去,加到y,这样我的手指就不会在图形上,祝你好运:)