博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
unity3d中控制物体移动方法有那些及区别
阅读量:7079 次
发布时间:2019-06-28

本文共 1283 字,大约阅读时间需要 4 分钟。

1. 利用GameObject的Translate,直接改变它的Transform,前提是需要你实现准备。 2. 用MoveTo方法,你只要知道你的目标位置即可。 3. 用Math的Lerp方法计算位置分量的线性差值,以TimeDelta(或其倍数)为调节量,可以使移动变得很平滑。这个方法可与方法2结合使用。

方法1:使用Vector3.MoveTowards

 

 

 
[csharp]  
 
  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. }  
 

 

 

 

 

 

 
[csharp]  
 
  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]  
 
  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]  
 
  1. StartCoroutine(MoveToPosition());  
 

 

 

 

 
[csharp]  
 
  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.     }  
 

转载于:https://www.cnblogs.com/mimime/p/6237078.html

你可能感兴趣的文章
python实例pyspark以及python中文显示
查看>>
一个典型核心网络故障分析
查看>>
获取lamp编译参数
查看>>
Shell理论学习(一)
查看>>
phpcms开发之模板语法规则
查看>>
CST UTC
查看>>
因为看见,所以发现:QBotVariant谢绝落幕
查看>>
我的友情链接
查看>>
让Apache支持shtml实现include文件解析的配置方法
查看>>
软件测试学习:检查产品说明书
查看>>
linux 防火墙
查看>>
mysql事务提交模式
查看>>
word search 此题若会,所有dfs矩阵全会
查看>>
ASP.NET Cache的一些总结2
查看>>
JAVA中易出错的小问题(二)
查看>>
asp.net 用正则表达式过滤内容中的电话,qq,email
查看>>
1109 Group Photo
查看>>
Flutter插件开发之APK自动安装
查看>>
创建本地CM 离线服务器
查看>>
PHP数组操作——取数组最后一个值
查看>>