vector - 在 Unity 4.3 中将 2d 对象移向并穿过某个位置

标签 vector position unity-game-engine 2d unityscript

尝试让物体朝给定位置发射并穿过给定位置。就像一颗子弹射向鼠标位置一样,我不希望它停在鼠标上(这就是现在正在发生的情况)。

下面是我到目前为止所拥有的,有没有像 lerp 这样的函数我可以使用?

var speed:float;
var startPoint:Vector3;
var startTime:float;
var clickedPosition:Vector3;


function Start()
{    
     startPoint = transform.position;
    startTime = Time.time;
    clickedPosition = Vector3(Input.mousePosition.x, Input.mousePosition.y, 0);
    clickedPosition = Camera.main.ScreenToWorldPoint(clickedPosition);  


}

function Update ()
{

 transform.position = Vector3.Lerp(startPoint, clickedPosition, (Time.time-startTime));

}

最佳答案

我建议使用刚体组件,然后沿该方向施加力(我猜是禁用重力)。

按照你现在的方式,你应该可以使用它

var speed : float;

function Start()
{    
    speed = 1000.0f; // experiment with this, might be way too fast;

    ...
}

function Update()
{
    transform.position += (clickedPosition - startPoint) * speed * Time.deltaTime;
}

(clickedPosition - startPoint) 应该为您提供要移动对象的方向,Time.deltaTime 为您提供自上次调用 Update 函数以来的毫秒数(您希望将其放在这里,以便对象移动相同的方向)不同帧率下的速度),speed只是一个常数来调整速度。

关于vector - 在 Unity 4.3 中将 2d 对象移向并穿过某个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20457240/

相关文章:

unity-game-engine - 将着色器添加到游戏对象

c++ oop beginner - 在一次函数调用中返回 vector 中每个创建对象的输出总和

c++ - vector 中存储的表达式的惰性求值

jquery - 定位不同大小/比例的img并填充到div中

c++ - 在 Mac OS X 上获取光标位置

unity-game-engine - 如何从 URL 统一加载 3D 模型?

c++ - 有什么明确的解释吗?

c++ - 二维 vector - 查找重复元素/获取索引位置并计算重复项

ios - UINavigationController 在 iOS7 上无法像在 iOS6.1 上一样同时工作

android - 如何设置发送高级短信权限始终允许在 android 中?