亲宝软件园·资讯

展开

Unity实现物体左右移动效果

人气:0

效果如下

代码:

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;
 }
 } 
 
}
您可能感兴趣的文章:

加载全部内容

相关教程
猜你喜欢
用户评论