This post has been wikified, any user with enough reputation can edit it.
What is the additional code shall I write to limit the speed and the direction when jumping.(2D game)
Sorry about my English first.
When walking and running in a direction, I can turn back to opposite direction while in the air and it will go back to the first location before jumping. How to fix the direction? to the first direction when star jumping although I press opposite direction button or release the button.
using UnityEngine;
using System.Collections;
public class PlayerMovement : MonoBehaviour {
//jump variable.
bool grounded = false;
float groundCheckRadius = 0.2f;
public LayerMask groundLayer;
public Transform groundCheck;
public float jumpHeight;
//move variable.
[SerializeField]
private float maxSpeed;
Rigidbody2D rigid2d;
Animator anim;
bool facingRight;
void Start ()
{
rigid2d = GetComponent<Rigidbody2D>();
anim = GetComponent<Animator>();
facingRight = true;
}
void Update()
{
if (grounded && Input.GetButtonDown("Jump"))//use for space spcaebar 1 time to highest jump.
//Input.GetAxis("Jump")>0 use for hold space bar to jump higher until max.
{
grounded = false;
anim.SetBool("isGrounded", grounded);
rigid2d.AddForce(new Vector2(0, jumpHeight));
}
}
void FixedUpdate ()
{
//Check if we are on ground.If not = falling.
grounded = Physics2D.OverlapCircle(groundCheck.position,groundCheckRadius, groundLayer);
anim.SetBool("isGrounded", grounded);
anim.SetFloat("verticalSpeed", rigid2d.velocity.y);
float move = Input.GetAxis("Horizontal");
anim.SetFloat("speed", Mathf.Abs(move));
rigid2d.velocity = new Vector2(move*maxSpeed, rigid2d.velocity.y);
if (move > 0 && !facingRight)
{
flip();
}else if(move < 0 && facingRight)
{
flip();
}
}
void flip()
{
facingRight = !facingRight;
Vector3 theScale = transform.localScale;
theScale.x *= -1;
transform.localScale = theScale;
}
}
ddddd.png
(8.6 kB)
Comment
Your answer
Follow this Question
Related Questions
Why 2d jump not working on touch? 0 Answers
Objects are sliding when one is placed on top of the other in a top down game 0 Answers
MovePosition/Velocity not following a direction 0 Answers
HELP!! I don't know how to do the 2Dcharacter jump only once in C#code 0 Answers
How do you make a object move, and jump. Also how do you add physics and collision? 0 Answers