DoomPriestK
Active Coder
Hi guys!
I have this code below which will spawn a prefab item set in the inspector and hurl it in the direction of the mouse pointer, but instead, I need the speed to be a float set in another script on projectile and im stumped as to how I would do it.
I also need to get the destroyAfter float from the projectile script instead of setting it in the player inspector.
Any ideas? Code below:
[CODE highlight="22,12,19"] // THROWING SOMETHING
if (Input.GetKey(throwItem))
{
// SPAWNS THE PREFAB PROJECTILE ASSIGNED IN THE Projectile SECTION
// OF THE INSPECTOR
GameObject projectileClone = (GameObject)Instantiate(projectile, ThrowPoint.position, Quaternion.identity);
anim.SetTrigger("Throw");
Rigidbody2D theProjectileRB = projectileClone.GetComponent<Rigidbody2D>();
Vector3 vel = new Vector3(1, 0, 0);
float angle = ThrowPoint.GetComponent<LookAtCursor>().GetAngle();
vel = Quaternion.Euler(0, 0, angle) * vel;
vel *= projectileSpeed;
projectileClone.layer = projectileLayer;
// MAKE SURE PROJECTILE WONT HIT OTHER PROJECTILES
Physics2D.IgnoreLayerCollision(projectileLayer, projectileLayer, true);
// ADD INITIAL VELOCITY
theProjectileRB.velocity = vel;
// DESTROY AFTER TIME SET IN INSPECTOR
Destroy(projectileClone, destroyAfter);
}[/CODE]
I have this code below which will spawn a prefab item set in the inspector and hurl it in the direction of the mouse pointer, but instead, I need the speed to be a float set in another script on projectile and im stumped as to how I would do it.
I also need to get the destroyAfter float from the projectile script instead of setting it in the player inspector.
Any ideas? Code below:
[CODE highlight="22,12,19"] // THROWING SOMETHING
if (Input.GetKey(throwItem))
{
// SPAWNS THE PREFAB PROJECTILE ASSIGNED IN THE Projectile SECTION
// OF THE INSPECTOR
GameObject projectileClone = (GameObject)Instantiate(projectile, ThrowPoint.position, Quaternion.identity);
anim.SetTrigger("Throw");
Rigidbody2D theProjectileRB = projectileClone.GetComponent<Rigidbody2D>();
Vector3 vel = new Vector3(1, 0, 0);
float angle = ThrowPoint.GetComponent<LookAtCursor>().GetAngle();
vel = Quaternion.Euler(0, 0, angle) * vel;
vel *= projectileSpeed;
projectileClone.layer = projectileLayer;
// MAKE SURE PROJECTILE WONT HIT OTHER PROJECTILES
Physics2D.IgnoreLayerCollision(projectileLayer, projectileLayer, true);
// ADD INITIAL VELOCITY
theProjectileRB.velocity = vel;
// DESTROY AFTER TIME SET IN INSPECTOR
Destroy(projectileClone, destroyAfter);
}[/CODE]