【转】unity 移动物体到指定位置的四种方法

http://blog.csdn.net/lcy0221/article/details/44040739

方法1:使用Vector3.MoveTowards

[csharp] view plain copy

  1. </pre><pre name="code" class="csharp">void Update ()
  2. {
  3. float step = speed * Time.deltaTime;
  4. gameObject.transform.localPosition = Vector3.MoveTowards(gameObject.transform.localPosition, new Vector3(10, -3, 50), step);
  5. }

方法2:使用插值

[csharp] view plain copy

  1. void Update ()
  2. {
  3. float step = speed * Time.deltaTime;
  4. gameObject.transform.localPosition =new Vector3(Mathf.Lerp(gameObject.transform.localPosition.x, 10, step),Mathf.Lerp(gameObject.transform.localPosition.y, -3, step),Mathf.Lerp(gameObject.transform.localPosition.z, 50, step));//插值算法也可以
  5. }

方法3:使用iTween

[csharp] view plain copy

  1. iTween.MoveTo(m_UIbgCamera, iTween.Hash("x",     -20,
  2. "y",     -3,
  3. "z",     50,
  4. "time",  1.0,
  5. "islocal", true
  6. ));

方法4:使用协程

[csharp] view plain copy

  1. StartCoroutine(MoveToPosition());

[csharp] view plain copy

    1. IEnumerator MoveToPosition()
    2. {
    3. GameObject m_UIbgCamera = GameObject.Find("UI/FengMian/UIbgCamera");
    4. while (m_UIbgCamera.transform.localPosition != new Vector3(-5, -3, 50))
    5. {
    6. m_UIbgCamera.transform.localPosition = Vector3.MoveTowards(m_UIbgCamera.transform.localPosition, new Vector3(-20, -3, 50), 10 * Time.deltaTime);
    7. yield return 0;
    8. }
    9. }
时间: 2024-11-10 01:29:16

【转】unity 移动物体到指定位置的四种方法的相关文章

页面内跳转到相应位置的3种方法

首先设置所需的css和html 设置css .demo{ width: 200px; height: 200px; border: 1px red solid; margin-bottom: 100px; margin-right: 50px; } .btn{ position: fixed; right: 0; top: 20px; background-color: #0000cc; color: #ffffff; } 设置html <div class="demo">

Android 记录和恢复ListView滚动的位置的三种方法

本文主要介绍记录和恢复listView滚动位置的3种方法(1)记录listView滚动到的位置的坐标(推荐)(2)记录listView显示在屏幕上的第一个item的位置(3)通知适配器数据改变. 有时在view切换时,需要恢复listView之前滚动到的位置,鉴于网上已有资料说的都是第二种方法,而第二种方法本身在精确度上较差,自己找到了第一种方法分享下. 1.记录listView滚动到的位置的坐标,然后利用listView.scrollTo精确的进行恢复 listView.setOnScroll

(转)Unity3D中移动物体位置的几种方法

1. 简介 在unity3d中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position. 2. 通过Transform组件移动物体 Transform 组件用于描述物体在空间中的状态,它包括 位置(position), 旋转(rotation)和 缩放(scale). 其实所有的移动都会导致position的改变,这里所说的通过Transform组件来移动物体,指的是直接操作Transform来控制物体的位置(position). 2.1 Transform.Tra

打印web页面指定区域的三种方法

本文和大家分享一下web页面实现指定区域打印功能的三种方法,一起来看下吧. 第一种方法:使用CSS 定义一 个.noprint的class,将不打印的内容放入这个class内. 代码如下: <style media="print" type="text/css"> .noprint{visibility:hidden} </style>这 里是要打印的内容.<p class="noprint">这里是不打印的内

程序自启动位置(8种方法,注册表有6处)

如果系统启动时自动加载的程序过多,会造成启动速度缓慢,而很多病毒或者木马也是在系统启动时自动加载的.所以了解怎样在Windows中查找自启动程序是非常重要的. 一.在“启动”文件夹中寻找 “启动”文件夹一般位于“系统盘符/Documents and Settings/用户名/开始菜单/程序/启动/”目录(Win 2000/XP)或“系统盘符/WINDOWS/Start Menu/Programs/启动/”目录.通过快捷方式的属性可以查出程序所在的位置. 二.从自动批处理文件中寻找 在Win 98

关于cmd进入指定路径的两种方法

第一种 进入要打开的文件夹,shift+右键 选中菜单 在此处打开命令窗口 便可以进入指定路径 第二种 见图 敲入其他盘符下的路径发现并没有跳过去 继续键入D:即可跳转

JS获取鼠标位置的三种方法

在一些DOM操作中我们经常会跟元素的位置打交道,鼠标交互式一个经常用到的方面,令人失望的是不同的游览器下会有不同的结果甚至是有的游览器下没结果,这篇文章就鼠标点击位置坐标获取做一些简单的总结. 获取鼠标位置首先要了解什么是event,event是一个声明了全局变量的一个对象,在chrome和IE下,可以随意访问,对于好奇的朋友console.log一下event.但!!!Firefox下是没有event这个对象的!! 好消息的是:在IE8,chrome下,是有event这个对象的! 鼠标点击位置

获取鼠标点击相对于Canva位置的2种方法

如果给Canvas添加 onmousedown事件,获取到的鼠标位置都是相对于当前文档的位置(x,y): 第一种转换: (x-x1,y-y1) x,y为鼠标点击位置,getBoundingClientRect方法是canvas自带的获取可绘画区域的位置信息的函数 function windowToCanvas(x, y) { var bbox = canvas.getBoundingClientRect(); return { x: x - bbox.left * (canvas.width /

iOS获取视频中的指定帧的两种方法

方法一 :AVFoundation 1 #import <AVFoundation/AVFoundation.h> 2 3 - (UIImage *)thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time { 4 AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURL options:nil]; 5 NSParameterAssert(asset)