- Home /
Sprite flip movement script not working! HELP!
Hey, I am making a 2D player movement script that flips the player if he moves left and flips back if he moves right. I have created a simple script but it is not working. When I play the game the Scene view somewhat does what its supposed to but the Game view makes the player move right and teleport around when I do certain things. Thanks for your time.
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour
{
public float moveSpeed = 10f;
public float jumpSpeed = 10f;
public Transform jumpCheckerStart, jumpCheckerEnd;
public bool Grounded = false;
void Update()
{
//Next two if statements are for moving left and right. Not working???
if (Input.GetKey (KeyCode.D)){
transform.Translate(Vector2.right * moveSpeed * Time.deltaTime);
transform.eulerAngles = new Vector2(0, 0);
}
if (Input.GetKey (KeyCode.A)){
transform.Translate (-Vector2.right * moveSpeed * Time.deltaTime);
transform.eulerAngles = new Vector2(0, 180);
}
Debug.DrawLine(jumpCheckerStart.position, jumpCheckerEnd.position, Color.red);
Grounded = Physics2D.Linecast (jumpCheckerStart.position, jumpCheckerEnd.position, 1 << LayerMask.NameToLayer("Ground"));
}
//Used for checking if the player is touching the ground
void OnCollisionStay2D(Collision2D coll ) // C#, type first, name in second
{
if (Grounded == true &&(Input.GetKeyDown(KeyCode.W)))
{
//Jump Script
rigidbody2D.AddForce(Vector2.up * jumpSpeed * Time.deltaTime);
}
}
}
If you need any other information just post a comment and I will try to provide the information requested. Thank you for your help.
Do you have child objects with colliders on your player? If so you gotta rotate them manually, as they seem somewhat buggy.
Your answer
Follow this Question
Related Questions
Making a bubble level (not a game but work tool) 1 Answer
How to make sprites in SideScroller move in smooth curves 0 Answers
Sprite is not shown moving 1 Answer
Question on Sprite and Movement 0 Answers
How to do a sprite flip 1 Answer