Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- public class MovingPlatform : MonoBehaviour
- {
- public bool isPlayerOn;
- [SerializeField]
- Transform platform;
- [SerializeField]
- Transform startTransform;
- [SerializeField]
- Transform endTransform;
- [SerializeField]
- float platformSpeed;
- Vector3 direction;
- Transform destination;
- void OnCollisionEnter (Collision other) {
- if (Collision.gameObject.tag == "Player") {
- isPlayerOn = true;
- }
- }
- void OnCollisionExit (Collision other) {
- if (Collision.gameObject.tag == "Player") {
- isPlayerOn = false;
- }
- }
- void Start (){
- SetDestination (startTransform);
- }
- void FixedUpdate(){
- platform.rigidbody.MovePosition (platform.position + direction * platformSpeed * Time.fixedDeltaTime);
- if (Vector3.Distance (platform.position, destination.position) < platformSpeed * Time.fixedDeltaTime) {
- SetDestination (destination == startTransform ? endTransform : startTransform);
- }
- }
- void SetDestination(Transform dest){
- destination = dest;
- direction = (destination.position -platform.position).normalized;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement