- Home /
Question by
Bernardus99 · Mar 07, 2017 at 04:21 PM ·
randomplatformerendless runnerobstacle
Random Obstacle Placement
Hi, i'm working on a script for a endless runner game in which you have to jump over some obstacles. Now I've made a script which randomly places obstacles, however sometimes it places obstacles on the same place. I also use object pooling. Could someone please help me?
public class GroundGenerator : MonoBehaviour {
public GameObject theGround;
public Transform generationPoint;
public float distanceBetween;
private float groundWidth;
public ObjectPooler theObjectPools;
public float randomSpikeThreshold;
public ObjectPooler spikePool;
// Use this for initialization
void Start () {
groundWidth = theGround.GetComponent<BoxCollider2D>().size.x;
}
// Update is called once per frame
void Update () {
if (transform.position.x < generationPoint.position.x)
{
transform.position = new Vector3 (transform.position.x + groundWidth + distanceBetween, transform.position.y, transform.position.z);
//Instantiate (theGround, transform.position, transform.rotation);
GameObject newGround = theObjectPools.GetPooledObject();
newGround.transform.position = transform.position;
newGround.transform.rotation = transform.rotation;
newGround.SetActive (true);
}
if (Random.Range (0f, 100f) < randomSpikeThreshold)
{
GameObject newSpike = spikePool.GetPooledObject ();
float spikeRandomiser = Random.Range (-14f, 14f);
Vector3 spikeSposition = new Vector3 (0f + spikeRandomiser, 2f, 0f);
newSpike.transform.position = transform.position + spikeSposition;
newSpike.transform.rotation = transform.rotation;
newSpike.SetActive (true);
}
}
}
,
Comment
Your answer
Follow this Question
Related Questions
random obstacle generator 2 Answers
Platform generation using object pooling 0 Answers
Spawn endless platforms help 0 Answers
Moving with rotating object 1 Answer
How do I increase the speed an instantiated object spawns in with? 0 Answers