Question by
El-Deiablo · Apr 21, 2016 at 02:38 AM ·
positionspawndestroy objectflippinghorizontal movement
Enemy Spawner Help
I am trying to get a hold of the instantiated Gameobject's position in order to:
1) I want my instantiated gameobject to move across the screen to the opposite side and then be destroyed.
2) I want the instantiated gameobject sprite to flip if the position of the spawn is on the right side of the screen (since the gameobject sprite is facing right).
Here's my code so far (I'm close, but need a little help to finish):
using UnityEngine; using System.Collections; using System.Collections.Generic;
public class TempSpawner : MonoBehaviour{
public float runningPlayerSpeed;
public Transform []spawnPoints;
public float spawnTime = 2f;
public GameObject [] Players;
private SpriteRenderer mySpriteRenderer;
public float minSpeed;
public float maxSpeed;
private float currentSpeed;
void Awake ()
{
mySpriteRenderer = GetComponent<SpriteRenderer>();
}
void Start(){
InvokeRepeating ("SpawnPlayers", spawnTime, spawnTime);
currentSpeed = Random.Range (minSpeed, maxSpeed);
if (transform.position.x == 10) {
mySpriteRenderer.flipX = true;
}
}
void Update(){
float amountToMove = currentSpeed * Time.deltaTime;
transform.Translate (Vector3.right * amountToMove);
if (transform.position.x == 10) {
mySpriteRenderer.flipX = true;
}
}
void SpawnPlayers(){
int spawnIndex = Random.Range (0, spawnPoints.Length);
int objectIndex = Random.Range (0, Players.Length);
Instantiate (Players [objectIndex], spawnPoints [spawnIndex].position, spawnPoints [spawnIndex].rotation );
}
}
Thanks in advance!
Comment