Advertisement
Guest User

kk

a guest
Oct 24th, 2021
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.36 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class move : MonoBehaviour
  6. {
  7.     public bool canMove;
  8.     public bool canMoveRight;
  9.     public bool canMoveLeft;
  10.     public bool canMoveToZeroRight;
  11.     public bool canMoveToZeroLeft;
  12.     public int linePos;
  13.     public int speed = 5;
  14.     private void Start()
  15.     {
  16.         canMoveToZeroLeft = false;
  17.         canMoveToZeroRight = false;
  18.         canMove = false;
  19.         canMoveRight = false;
  20.         canMoveLeft = false;
  21.         linePos = 0;
  22.     }
  23.     void Update()
  24.     {
  25.  
  26.  
  27.         transform.Translate(Vector3.forward * speed * Time.deltaTime);
  28.         if (Input.GetKeyDown(KeyCode.D)) { TestMove(Vector3.right); }
  29.         else if (Input.GetKeyDown(KeyCode.A)) { TestMove(Vector3.left); }
  30.         else { TestMove(Vector3.zero); }
  31.     }
  32.  
  33.  
  34.  
  35.  
  36.     public void TestMove(Vector3 dir)
  37.     {
  38.        
  39.         if (linePos == 0 & !canMove)
  40.         {
  41.             canMoveToZeroRight = false;
  42.             canMoveToZeroLeft = false;
  43.             canMoveRight = true;
  44.             canMoveLeft = true;
  45.             canMove = false;
  46.         }
  47.         else if (linePos > 0 & ! canMove)
  48.         {
  49.             canMoveToZeroRight = false;
  50.             canMoveToZeroLeft = true;
  51.             canMoveRight = false;
  52.             canMoveLeft = false;
  53.             canMove = false;
  54.         }
  55.         else if (linePos < 0 & !canMove)
  56.         {
  57.             canMoveToZeroRight = true;
  58.             canMoveToZeroLeft = false;
  59.             canMoveRight = false;
  60.             canMoveLeft = false;
  61.             canMove = false;
  62.         }
  63.  
  64.         if (dir == Vector3.right)
  65.         {
  66.             Debug.Log("Right");
  67.             canMoveLeft = false;
  68.             canMove = true;
  69.  
  70.         }
  71.         else if (dir == Vector3.left)
  72.         {
  73.             Debug.Log("Left");
  74.             canMoveRight = false;
  75.             canMove = true;
  76.  
  77.         }
  78.        
  79.         if (canMoveRight & canMove)
  80.         {
  81.             float x = transform.position.x;
  82.             x = Mathf.Lerp(transform.position.x, 1.7f, 0.05f);
  83.             transform.position = new Vector3(x, transform.position.y, transform.position.z);
  84.             if (transform.position.x >= 1.6f)
  85.             {
  86.                 Debug.Log("false1");
  87.                 canMove = false;
  88.                 linePos++;
  89.  
  90.             }
  91.         }
  92.         if (canMoveLeft & canMove)
  93.         {
  94.             float x = transform.position.x;
  95.             x = Mathf.Lerp(transform.position.x,-1.7f, 0.05f);
  96.           transform.position = new Vector3(x, transform.position.y, transform.position.z);
  97.             if (transform.position.x <= -1.6f)
  98.             {
  99.                 Debug.Log("false2");
  100.                 canMove = false;
  101.                 linePos--;
  102.             }
  103.         }
  104.         if (canMoveToZeroRight & canMove || canMoveToZeroLeft & canMove)
  105.         {
  106.             float x = transform.position.x;
  107.             x = Mathf.Lerp(transform.position.x, 0f, 0.05f);
  108.             transform.position = new Vector3(x, transform.position.y, transform.position.z);
  109.             if (transform.position.x >= -0.1f & transform.position.x <= 0.1f)
  110.             {
  111.                 Debug.Log("false2");
  112.                 canMove = false;
  113.                 if(linePos > 0) { linePos--; }
  114.                 if (linePos < 0) { linePos++; }
  115.             }
  116.         }
  117.  
  118.     }
  119.  
  120.  
  121.  
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement