Unity代码简单实现物体左右移动

using UnityEngine;
using System.Collections;

//Add this script to the platform you want to move.
//左右移动的平台
public class MovingPlatform : MonoBehaviour {

//Platform movement speed.平台移动速度
public float speed;

//This is the position where the platform will move.平台移动的位置
public Transform MovePosition;//创建一个空物体作为移动的位置

private Vector3 StartPosition;
private Vector3 EndPosition;
private bool OnTheMove;

// Use this for initialization
void Start () {
//Store the start and the end position. Platform will move between these two points.储存左右两端点位置
StartPosition = this.transform.position;
EndPosition = MovePosition.position;
}

void FixedUpdate () {

float step = speed * Time.deltaTime;

if (OnTheMove == false) {
this.transform.position = Vector3.MoveTowards (this.transform.position, EndPosition, step);
}else{
this.transform.position = Vector3.MoveTowards (this.transform.position, StartPosition, step);
}

//When the platform reaches end. Start to go into other direction.
if (this.transform.position.x == EndPosition.x && this.transform.position.y == EndPosition.y && OnTheMove == false) {
OnTheMove = true;
}else if (this.transform.position.x == StartPosition.x && this.transform.position.y == StartPosition.y && OnTheMove == true) {
OnTheMove = false;
}
}



}
--------------------- 

posted @ 2019-08-09 19:12  水至清明  阅读(5103)  评论(0编辑  收藏  举报