Advertisement
Guest User

Untitled

a guest
Sep 26th, 2017
1,131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.10 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class CubeMover : MonoBehaviour {
  6.  
  7.     public float moveTime = 0.5f;
  8.  
  9.     Vector3 startPosition;
  10.     Vector3 targetPosition;
  11.     float targetTime;
  12.  
  13.     void Start() {
  14.         targetPosition = transform.position;
  15.     }
  16.  
  17.     void Move(Vector3 move) {
  18.  
  19.         targetTime = Time.time + moveTime;
  20.         startPosition = transform.position;
  21.         targetPosition = transform.position + move;
  22.  
  23.         targetPosition.x = Mathf.Round(targetPosition.x);
  24.         targetPosition.z = Mathf.Round(targetPosition.z);
  25.  
  26.     }
  27.  
  28.     void Update() {
  29.  
  30.         if(targetTime > Time.time) {
  31.  
  32.             transform.position = Vector3.Lerp(startPosition, targetPosition, 1 - (targetTime - Time.time) / moveTime);
  33.  
  34.         } else {
  35.  
  36.             transform.position = targetPosition;
  37.  
  38.             if(Input.GetKeyDown(KeyCode.UpArrow)) {
  39.                 Move(Vector3.forward);
  40.             } else if(Input.GetKeyDown(KeyCode.DownArrow)) {
  41.                 Move(Vector3.back);
  42.             } else if(Input.GetKeyDown(KeyCode.LeftArrow)) {
  43.                 Move(Vector3.left);
  44.             } else if(Input.GetKeyDown(KeyCode.RightArrow)) {
  45.                 Move(Vector3.right);
  46.             }
  47.            
  48.         }
  49.  
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement