平台游戏的创建代码总结如下,物理组件设置好,速度设置好,直接看代码

using
UnityEngine; using System.Collections; public class MovingPlatform : MonoBehaviour { [SerializeField] Transform platform; [SerializeField] Transform startTransform; [SerializeField] Transform endTransform; [SerializeField] float platFormSpeed; Vector3 direction; Transform destination; // Use this for initialization void Start () { SetDestination(startTransform); } void FixedUpdate() { platform.GetComponent<Rigidbody>().MovePosition(platform.position + direction * platFormSpeed*Time.fixedDeltaTime); if (Vector3.Distance(platform.position, destination.position) < platFormSpeed*Time.fixedDeltaTime) { SetDestination(destination == startTransform ? endTransform : startTransform); } } void OnDrawGizmos() { Gizmos.color = Color.green; Gizmos.DrawWireCube(startTransform.position,platform.localScale); Gizmos.color = Color.red; Gizmos.DrawWireCube(endTransform.position, platform.localScale); } void SetDestination(Transform dest) { destination = dest; direction = (destination.position - platform.position).normalized; } }

 

posted on 2016-06-04 18:55  水榭阁主  阅读(597)  评论(0编辑  收藏  举报