UnityAPI手册-2019.4官网版
文集大纲加载中……
本文档使用 MrDoc 发布
-
+
首页
Vector2.MoveTowards
# [Vector2](https://docs.unity3d.com/cn/2019.4/ScriptReference/Vector2.html).MoveTowards public static [Vector2](https://docs.unity3d.com/cn/2019.4/ScriptReference/Vector2.html) **MoveTowards** ([Vector2](https://docs.unity3d.com/cn/2019.4/ScriptReference/Vector2.html) **current**, [Vector2](https://docs.unity3d.com/cn/2019.4/ScriptReference/Vector2.html) **target**, float **maxDistanceDelta**); ## 描述 将点 `current` 移向 /target/。 这本质上与 [Vector2.Lerp](https://docs.unity3d.com/cn/2019.4/ScriptReference/Vector2.Lerp.html) 相同,但是该函数确保距离不超过 `maxDistanceDelta`。 `maxDistanceDelta` 为负值时会将矢量推离 /target/。 ``` using UnityEngine; // 2D MoveTowards example // Move the sprite to where the mouse is clicked // // Set speed to -1.0f and the sprite will move // away from the mouse click position forever public class ExampleClass : MonoBehaviour { private float speed = 10.0f; private Vector2 target; private Vector2 position; private Camera cam; void Start() { target = new Vector2(0.0f, 0.0f); position = gameObject.transform.position; cam = Camera.main; } void Update() { float step = speed * Time.deltaTime; // move sprite towards the target location transform.position = Vector2.MoveTowards(transform.position, target, step); } void OnGUI() { Event currentEvent = Event.current; Vector2 mousePos = new Vector2(); Vector2 point = new Vector2(); // compute where the mouse is in world space mousePos.x = currentEvent.mousePosition.x; mousePos.y = cam.pixelHeight - currentEvent.mousePosition.y; point = cam.ScreenToWorldPoint(new Vector3(mousePos.x, mousePos.y, 0.0f)); if (Input.GetMouseButtonDown(0)) { // set the target to the mouse click location target = point; } } } ```
da
2022年6月22日 10:45
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码