Hey guys so I am following this tutorial: http://unity3d.com/learn/tutorials/projects/space-shooter/shooting-shots, and at around the 12 minute mark he finishes the code and moves on. But, my code is not working because of an error in my Instantiate call (I am assuming its something to do with Unity 5) so does anyone have any fixes? I think it has something to do with the Instantiate call on line 23.
Here is my code:
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;
public GameObject shot;
public Transform shotSpawn;
public float fireRate;
private float nextFire;
private void Update() {
if (Input.GetButton ("Fire1") && Time.time > nextFire) {
nextFire = Time.time + fireRate;
Instantiate(shot, shotSpawn.position, shotSpawn.position);
}
}
private void FixedUpdate() {
float moveHorizontal = Input.GetAxis ("Horizontal");
float moveVertical = Input.GetAxis ("Vertical");
Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
GetComponent<Rigidbody>().velocity = movement * speed;
GetComponent<Rigidbody> ().position = new Vector3 (
Mathf.Clamp(GetComponent<Rigidbody>().position.x, boundary.xMin, boundary.xMax),
0.0f,
Mathf.Clamp(GetComponent<Rigidbody>().position.z, boundary.zMin, boundary.zMax)
);
GetComponent<Rigidbody> ().rotation = Quaternion.Euler (
0.0f,
0.0f,
GetComponent<Rigidbody>().velocity.x * -tilt
);
}
}