- Home /
Change variable of instantiated object from different game Objects
Hi everyone.
I would like to change a variable of an instiantated object. The thing is, I have different gameObjects and this is kind of messing up the whole thing, all the gameObject instantiated have the same variable
Here are my codes:
On the guns:
function Start ()
{
bullet = Resources.Load("Fight/Ships/ally/bullet");
bullet.GetComponent(bullet_stats).gun = gameObject ;
}
function Update ()
{
if( nextBullet <=Time.time)
{
Instantiate(bullet, transform.position, transform.rotation);
nextBullet = Time.time + rate;
}
}
The variable gun, in all the bullets, are a single weapon. Not the one that instantiated it.
Thanks a lot in advance! Cheers
Answer by GC1983 · Apr 22, 2013 at 08:17 PM
public GameObject bullet;
public float fireRange;
public float fireRate;
public float bulletSpeed;
void ShootGun()
if(Time.time > nextFire)
{
nextFire = Time.time + fireRate;
var clone = Instantiate(bullet, this.transform.position, this.transform.rotation) as GameObject;
clone.rigidbody.velocity = transform.TransformDirection(Vector3.forward * bulletSpeed);
}
Answer by feydfeyd · Apr 22, 2013 at 08:54 PM
I am sorry I work with Java Script :s
What I am particularly interested in is changing the variable of the instantiated object:
bullet.GetComponent(bullet_stats).gun = gameObject ;
all the instantiated object have the same "gun" variable, no matters which gun fired it.
Thanks in advance
Your answer
![](https://koobas.hobune.stream/wayback/20220613100835im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Finding center of a cube 1 Answer
what is Vector3.normalized? 1 Answer
one or several scripts - what's better? 1 Answer
C#, "object reference not set to an instance of an object" 3 Answers
Fixing Inverted Camera Controls When Flipped, MouseOrbit 2 Answers