Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.59 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class CharacterMovement : MonoBehaviour{
  5. private Rigidbody2D playerRigidBody2D;
  6.  
  7. private float movePlayerHorizontal;
  8. private float movePlayerVertical;
  9. private Vector2 movement;
  10.  
  11. public float speed = 4.0f;
  12.  
  13. private Animator playerAnim;
  14.  
  15. private SpriteRenderer playerSpriteImage;
  16.  
  17. void Awake(){
  18. playerRigidBody2D = (Rigidbody2D)GetComponent(typeof(Rigidbody2D));
  19. playerAnim=(Animator)GetComponent(typeof(Animator));
  20. playerSpriteImage=(SpriteRenderer)GetComponent(typeof(SpriteRenderer));
  21. }
  22.  
  23. void Update () {
  24. movePlayerHorizontal = Input.GetAxis("Horizontal");
  25. movePlayerVertical = Input.GetAxis("Vertical");
  26. movement=new Vector2(movePlayerHorizontal,movePlayerVertical);
  27.  
  28. playerRigidBody2D.velocity=movement*speed;
  29.  
  30. if(movePlayerVertical==0 && movePlayerHorizontal==0){
  31. playerAnim.SetBool("moving",false);
  32. }else{
  33. playerAnim.SetBool("moving",true);
  34. }
  35.  
  36. if(movePlayerVertical!=0){
  37. playerAnim.SetBool("xMove",false);
  38. playerSpriteImage.flipX=false;
  39.  
  40. if(movePlayerVertical>0){
  41. playerAnim.SetInteger("yMove",1);
  42.  
  43. }else if(movePlayerVertical<0){
  44. playerAnim.SetInteger("yMove",-1);
  45.  
  46. }
  47. }else {
  48. playerAnim.SetInteger("yMove",0);
  49.  
  50. if(movePlayerHorizontal>0){
  51. playerAnim.SetBool("xMove",true);
  52. playerSpriteImage.flipX=false;
  53.  
  54. }else if(movePlayerHorizontal<0){
  55. playerAnim.SetBool("xMove",true);
  56. playerSpriteImage.flipX=true;
  57.  
  58. }else{
  59. playerAnim.SetBool("xMove",false);
  60. }
  61. }
  62. }
  63. }
  64.  
  65. using System.Collections;
  66. using UnityEngine;
  67.  
  68. public class CharacterMovement : MonoBehaviour {
  69. private Rigidbody2D _playerRigidbody2D;
  70. private Animator _playerAnimator;
  71. private SpriteRenderer _playerSpriteRenderer;
  72.  
  73. private float movePlayerHorizontal;
  74. private float movePlayerVertical;
  75. private Vector2 movement;
  76.  
  77. public float speed = 4.0f;
  78.  
  79. void Awake() {
  80. _playerRigidbody2D = (Rigidbody2D)GetComponent(typeof(Rigidbody2D));
  81. _playerAnimator = (Animator)GetComponent(typeof(Animator));
  82. _playerSpriteRenderer = (SpriteRenderer)GetComponent(typeof(SpriteRenderer));
  83. }
  84.  
  85. void Update () {
  86. movePlayer();
  87. detectMovementDirection();
  88. }
  89.  
  90. void detectMovementDirection() {
  91. if(isMovingVertical()) {
  92. moveVertical();
  93. } else {
  94. moveHorizontal();
  95. }
  96. }
  97.  
  98. void moveHorizontal(){
  99. _playerAnimator.SetInteger("yMove", 0);
  100. if (isMovingRight()) {
  101. _playerAnimator.SetBool("xMove", true);
  102. _playerSpriteRenderer.flipX = false;
  103. } else if (isMovingLeft()) {
  104. _playerAnimator.SetBool("xMove", true);
  105. _playerSpriteRenderer.flipX = true;
  106. } else {
  107. _playerAnimator.SetBool("xMove", false);
  108. }
  109. }
  110.  
  111. void moveVertical(){
  112. _playerAnimator.SetBool("xMove", false);
  113. _playerSpriteRenderer.flipX = false;
  114. if(isMovingUp()) {
  115. _playerAnimator.SetInteger("yMove", 1);
  116. } else if (isMovingDown()) {
  117. _playerAnimator.SetInteger("yMove", -1);
  118. }
  119. }
  120.  
  121. bool isMovingVertical() {
  122. return movePlayerVertical != 0;
  123. }
  124.  
  125. bool isMovingUp() {
  126. return movePlayerVertical > 0;
  127. }
  128.  
  129. bool isMovingDown() {
  130. return movePlayerVertical < 0;
  131. }
  132.  
  133. bool isMovingRight() {
  134. return movePlayerHorizontal > 0;
  135. }
  136.  
  137. bool isMovingLeft() {
  138. return movePlayerHorizontal < 0;
  139. }
  140.  
  141. void movePlayer(){
  142. movePlayerHorizontal = Input.GetAxis("Horizontal");
  143. movePlayerVertical = Input.GetAxis("Vertical");
  144. movement = new Vector2(movePlayerHorizontal, movePlayerVertical);
  145. _playerRigidbody2D.velocity = movement * speed;
  146. }
  147. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement