I’m wanting to add more than one trigger on a single game object in different areas of the prefab. Should i use 3 box colliders? Can it be done?
Please give me guidance regarding this.
I have run into a dead end by trying this approach:
I have 3 spawners spawning 2 prefabs vertically down.
The spawning starts just above the view and when the object(moving down)exits the view…it re-spawns:
My problem is that the 2 spawning objects in the array overlaps.
Screen size = 768x1024…objects Size = 256x170.666667.
In other words…3 objects x 6.
I’m trying to either fix this…or go the other route…as above mentioned.
var enemies :GameObject; // Array of enemy prefabs. tag names go here
var spawnTime :float = 1.0f; // The amount of time between each spawn.
var spawnDelay :float = 1.0f; // The amount of time before spawning starts.
var enemySpeed :float = 5.0f;
var spawn :boolean = false;
var spawnPosition :Transform;
var randomLocation :Vector3;
var enemyIndex :int;
function Start()
{
// Start calling the Spawn function repeatedly after a delay .
InvokeRepeating("Spawn", spawnDelay, spawnTime);
spawn = true; // make sure Invoke started only once
randomLocation = Random.insideUnitSphere * 2; //2 is radius
randomLocation.y = 0.0f;
}
function Spawn ()
{
// Instantiate(spawnObject[spawnObjectIndex],spawnPosition.position + randomLocation,spawnObject[spawnObjectIndex].transform.rotation);
// Instantiate a random enemy.
enemyIndex = Random.Range(0, enemies.Length);
Instantiate(enemies[enemyIndex], transform.position, transform.rotation);
}
function Update ()
{
amtToMove = enemySpeed * Time.deltaTime;
transform.Translate(Vector3.down * amtToMove);
if(transform.position.y <=-6) //when object reaches bottom of the view
{
transform.position.y = 6; // back to top of the view
enemySpeed *= 1.02f; // increase my spawn speed with every cycle
}