- Home /
array index is out of range when i try to shoot in my game
So when i did a build of my game my screen was spammed with "IndexOutOfRangeException - Array index is out of range" I'll post my code in here and hopefully you guys can help me.. if this code is correct and there is something wrong with my other codes just ask the code and i'll post it. Here is the code: //Here is the code
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class Press_Space_to_Fire : MonoBehaviour { //Drag in the Bullet Emitter from the Component Inspector. public GameObject Bullet_Emitter;
//Drag in the Bullet Prefab from the Component Inspector.
public GameObject Bullet;
//Enter the Speed of the Bullet from the Component Inspector.
public float Bullet_Forward_Force;
// Time
public float timeBetweenShots = 0.3333f;
private float timestamp;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetKey(KeyCode.Mouse0))
{
if (Time.time >= timestamp && (Input.GetKey(KeyCode.Mouse0)))
{
timestamp = Time.time + timeBetweenShots;
//The Bullet instantiation happens here.
GameObject Temporary_Bullet_Handler;
Temporary_Bullet_Handler = Instantiate(Bullet, Bullet_Emitter.transform.position, Bullet_Emitter.transform.rotation) as GameObject;
//Sometimes bullets may appear rotated incorrectly due to the way its pivot was set from the original modeling package.
//This is EASILY corrected here, you might have to rotate it from a different axis and or angle based on your particular mesh.
Temporary_Bullet_Handler.transform.Rotate(Vector3.left * 90);
//Retrieve the Rigidbody component from the instantiated Bullet and control it.
Rigidbody Temporary_RigidBody;
Temporary_RigidBody = Temporary_Bullet_Handler.GetComponent<Rigidbody>();
//Tell the bullet to be "pushed" forward by an amount set by Bullet_Forward_Force.
Temporary_RigidBody.AddForce(transform.forward * Bullet_Forward_Force);
//Basic Clean Up, set the Bullets to self destruct after 10 Seconds, I am being VERY generous here, normally 3 seconds is plenty.
Destroy(Temporary_Bullet_Handler, 10.0f);
}
}
}
}
Here is another code that has to do something with it maybe :S
using System.Collections; using System.Collections.Generic; using UnityEngine;
namespace Chapter1 { public class Collide : MonoBehaviour { private void OnCollisionEnter(Collision col) { Debug.Log(col.contacts[0].point.ToString()); Destroy(gameObject); }
}
}
Hope you guys can help me! Thanks. @JustGilan,
Can you copy and paste your error log? I need to see which script and which line it is spam$$anonymous$$g.
Your answer
![](https://koobas.hobune.stream/wayback/20220612123903im_/https://answers.unity.com/themes/thub/images/avi.jpg)