Unity入门操作_ 规律移动_007
2017-08-19 16:31
441 查看
特点是可以绕规定点进行规定长度的往返运动.
方法一:
using UnityEngine;
using System.Collections;
public class Move : MonoBehaviour {
// Update is called once per frame
void Update ()
{
//利用Mathf的pingpong方法达到往复的运动
obj1.transform.position = new Vector3(0,0,-Mathf.PingPong(Time.time,10));
obj2.transform.position = new Vector3(0,0,Mathf.PingPong(Time.time,10));
}
}
方法二:
using UnityEngine;
using System.Collections;
public class Move : MonoBehaviour {
//设置一个标志位 当intFlag 为1的时候表示向Z轴的正方向移动 当intFlag 为-1的时候表示向Z轴的负方向移动
int intFlag = 1;
// Update is called once per frame
void Update ()
{
//当Z轴位置大于10的时候就向负方向移动
if (transform.position.z>=10)
{
intFlag = -1;
}
//当Z轴位置小于0的时候就向正方向移动
if (transform.position.z<0)
{
intFlag = 1;
}
transform.Translate(new Vector3(0, 0, intFlag) * Time.deltaTime * 2);
}
}
public GameObject obj1301;
public GameObject obj1302;
float time;
public Vector3 target1;
public Vector3 target2;
// Use this for initialization
void Start () {
target1 = obj1301.transform.position;
target2 = obj1302.transform.position;
}
// Update is called once per frame
void Update () {
Test13();
}
void Test13()
{
time += Time.deltaTime;
Vector3 v3 = obj1301.transform.position - obj1302.transform.position;
if (time<1)
{
if (v3.sqrMagnitude > 100)
{
obj1301.transform.position = Vector3.MoveTowards(obj1301.transform.position, obj1302.transform.position, 0.1f);
obj1302.transform.position = Vector3.MoveTowards(obj1302.transform.position, obj1301.transform.position, 0.1f);
}
else if (v3.sqrMagnitude != 0)
{
obj1301.transform.position = Vector3.MoveTowards(obj1301.transform.position, obj1302.transform.position, 0.1f);
obj1302.transform.position = Vector3.MoveTowards(obj1302.transform.position, obj1301.transform.position, 0.1f);
}
else
{
time = 1;
}
}
if (time >= 1)
{
if (v3.sqrMagnitude < 100)
{
obj1301.transform.position = Vector3.MoveTowards(obj1301.transform.position, target1, 0.1f);
obj1302.transform.position = Vector3.MoveTowards(obj1302.transform.position, target2, 0.1f);
}
else
{
time = 0;
}
}
}
}
相关文章推荐
- 【笨木头Unity】入门之旅007:Demo之四处找死(二)_主角移动和旋转
- Unity入门操作_ 生命周期函数_018
- Unity入门操作_音频_035
- Unity移动端手势操作——移动3D物体
- Unity入门操作_Time类_004
- Unity在移动平台中的文件操作路径详解
- unity 在移动平台中,文件操作路径详解
- Unity入门操作_Transform组件_003
- Unity入门操作_旋转_006
- Unity入门操作_线性,球形检测_014
- unity 在移动平台中,文件操作路径详解
- Unity 之 移动设备的触控操作
- unity 在移动平台中,文件操作路径详解
- Unity入门操作_生成有序图案_008
- MySQL入门笔记 —— 007 delect操作
- unity 在移动平台中,文件操作路径详解
- Unity入门操作_关节,布料_017
- Unity入门操作_固定路线行走_021
- Unity入门操作_视频_036
- Unity入门操作_Transform组件_003-01