So I'm new to unity as well as coding; I've been stuck with this problem for quite a while.
I've been using this standard player controller and it works pretty dandy.
void FixedUpdate ()
{
if(Input.GetKey (KeyCode.W))
rb.AddForce (transform.up * maxSpeed);
if (Input.GetKey (KeyCode.A))
rb.angularVelocity = maxRotation;
if (Input.GetKey (KeyCode.D))
rb.angularVelocity = -maxRotation;
}
I'm now trying to control my player using a joypad and I'm making an attempt to use GetAxis to smooth out the controls. I want to continue using addforce and angularvelocity as I want my player to continue interacting with other rigidbodies. I get no errors but nothing seems to be moving, and I can't seem to get it to move.
using UnityEngine;
using System.Collections;
public class Player2Controller : MonoBehaviour {
public float maxSpeed = 4f;
public float maxRotation = 100f;
private Rigidbody2D rb;
void Start ()
{
rb = GetComponent ();
}
void FixedUpdate ()
{
float y = Input.GetAxis ("vertical");
float x = Input.GetAxis ("horizontal");
rb.angularVelocity = x * maxRotation;
rb.AddForce (transform.up * y * maxSpeed);
}
}
I do hope the information given is sufficient and any help would be greatly appreciated! :)
↧