Advertisement
toko214

player

Mar 22nd, 2017
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.56 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class main : MonoBehaviour
  6. {
  7.  
  8.     // Use this for initialization
  9.     Rigidbody2D playerRg;
  10.     BoxCollider2D col;
  11.     public BoxCollider2D floor;
  12.     Animator anim;
  13.     public int count;
  14.     public float playerSpeed;
  15.     public float movex;
  16.     public bool facingLeft;
  17.     bool flooring;
  18.  
  19.     void Start()
  20.     {
  21.         playerRg = GetComponent<Rigidbody2D>();
  22.         col = GetComponent<BoxCollider2D>();
  23.         anim = GetComponent<Animator>();
  24.         count = 1;
  25.         playerSpeed = 4;
  26.         facingLeft = true;
  27.     }
  28.  
  29.     // Update is called once per frame
  30.     void FixedUpdate()
  31.     {
  32.         float vy = playerRg.velocity.y;
  33.         float vx = playerRg.velocity.x;
  34.         movex = Input.GetAxis("Horizontal");
  35.         bool pressedJump = Input.GetKey(KeyCode.UpArrow);
  36.         bool isTouchingFloor = playerRg.IsTouchingLayers(LayerMask.GetMask("Floor"));
  37.         anim.SetFloat("speed", Mathf.Abs(movex));
  38.         //ANIMATIONS
  39.         if (movex > 0 && facingLeft)
  40.         {
  41.             Flip();
  42.             facingLeft = false;
  43.         }
  44.         if (movex < 0 && !facingLeft)
  45.         {
  46.             Flip();
  47.             facingLeft = true;
  48.         }
  49.         //HORIZONTAL MOVEMENT
  50.         if (isTouchingFloor && movex != 0)
  51.         {
  52.             playerRg.velocity = new Vector2(movex * playerSpeed, vy);
  53.         }
  54.  
  55.         //JUMP
  56.         if (pressedJump && count > 0)
  57.         {
  58.             playerRg.velocity = new Vector2(vx, 6);
  59.             //playerRg.AddForce(transform.up * 60);
  60.             count--;
  61.         }
  62.         //IF NOT PRESSING ANHYTHING AND ON THE FLOOR STOP THE PLAYER
  63.         if (flooring && movex == 0 && !(pressedJump))
  64.         {
  65.             playerRg.velocity = new Vector2(0, 0);
  66.         }
  67.     }
  68.     //FLIP THE PLAYER BODY SPRITE
  69.     void Flip()
  70.     {
  71.         facingLeft = !facingLeft;
  72.         Vector3 theScale = transform.localScale;
  73.         theScale.x *= -1;
  74.         transform.localScale = theScale;
  75.     }
  76.  
  77.  
  78.     //RESET THE JUMP PARAMETER
  79.     void OnCollisionEnter2D(Collision2D coll)
  80.     {
  81.         if (coll.gameObject.tag == "Floor")
  82.         {
  83.             if (playerRg.transform.position.y >= coll.collider.transform.position.y)
  84.             {
  85.                 Debug.Log("asd");
  86.                 count = 1;
  87.                 flooring = true;
  88.             }
  89.         }
  90.     }
  91.     void OnCollisionExit2D(Collision2D coll)
  92.     {
  93.         if (coll.gameObject.tag == "Floor")
  94.         {
  95.             flooring = false;
  96.         }
  97.     }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement