I’m doing the space shooter project and after writing the script for the player, entering play mode causes the player to move to the left of the screen and does not allow you to move right. If anyone either has had this happen to them or knows what the problem is, I would be extremely appreciative of your help.
1 Answer
1These are the scripts from the tutorial -
C#
using UnityEngine;
using System.Collections;
[System.Serializable]
public class Boundary
{
public float xMin, xMax, zMin, zMax;
}
public class PlayerController : MonoBehaviour
{
public float speed;
public float tilt;
public Boundary boundary;
void FixedUpdate ()
{
float moveHorizontal = Input.GetAxis ("Horizontal");
float moveVertical = Input.GetAxis ("Vertical");
Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
rigidbody.velocity = movement * speed;
rigidbody.position = new Vector3
(
Mathf.Clamp (rigidbody.position.x, boundary.xMin, boundary.xMax),
0.0f,
Mathf.Clamp (rigidbody.position.z, boundary.zMin, boundary.zMax)
);
rigidbody.rotation = Quaternion.Euler (0.0f, 0.0f, rigidbody.velocity.x * -tilt);
}
}
JS
class Boundary
{
var xMin : float;
var xMax : float;
var zMin : float;
var zMax : float;
}
var speed : float;
var tilt : float;
var boundary : Boundary;
function FixedUpdate () {
var moveHorizontal : float= Input.GetAxis ("Horizontal");
var moveVertical : float= Input.GetAxis ("Vertical");
var movement : Vector3= new Vector3 (moveHorizontal, 0.0f, moveVertical);
rigidbody.velocity = movement * speed;
rigidbody.position = new Vector3
(
Mathf.Clamp (rigidbody.position.x, boundary.xMin, boundary.xMax),
0.0f,
Mathf.Clamp (rigidbody.position.z, boundary.zMin, boundary.zMax)
);
rigidbody.rotation = Quaternion.Euler (0.0f, 0.0f, rigidbody.velocity.x * -tilt);
}
Make sure you have written everything just as it is in the script. Spelling errors and Capitalisation can easily be overlooked and just a tiny mistake can throw an entire script in a mess.
If you are still having issues the Space Shooter tutorial has a folder named ‘Done’. In this you will find already completed scripts. Try having a look at those, follow them through and see if you can spot where your mistake is.
![]()
We need to see the code that is moving your player.
– KiwasiMight help, if you included the script as well.
– PriyanshuI using unity5 and had problems at first with the fact the tutorial scripts are outdated.
– PhantaxDPGthe editor in unity 5 should auto correct any scripts that are out-dated. You get a pop-up window asking you to make a back-up and then confirm the changes. :)
– Digital-Phantom