- Home /
Question by
omaglana · Oct 15, 2018 at 01:49 AM ·
movementgameobjectspawning
Moving different objects with randomized value
Hi, Good day! For now I am trying to move the object with each has a randomized height and speed in Up and down pattern for every platform that moves vertically but the problem is that I also have an object which should not move vertically.
So in short how do I implement a randomized speed and height of levitating platform with each having a different value without affecting other prefabs? Note: that land[1] is a levitating prefab. private void FixedUpdate() {
if (FindObjectOfType<Player>().isJump && !FindObjectOfType<GameOver>().disable) {
platformObjs = GameObject.FindGameObjectsWithTag("land");
foreach (GameObject platform in platformObjs) {
platform.transform.Translate(Vector3.left * 4.7f * Time.fixedDeltaTime);
}
startpoint = GameObject.FindGameObjectWithTag("startpoint");
startpoint.transform.Translate(Vector3.left * 4.7f * Time.fixedDeltaTime);
}
GameObject[] platforms = GameObject.FindGameObjectsWithTag("land");
float maxPlatformDistance = 0;
foreach (var pltform in platforms) {
maxPlatformDistance = Mathf.Max(maxPlatformDistance, pltform.transform.position.x);
if (pltform.transform.position.x < -6.5f) {
rmbObjects.Add(pltform);
}
}
if (maxPlatformDistance < 6.5f) {
ObjectSpawn(maxPlatformDistance + mingap + Random.value * (maxgap - mingap));
}
foreach (var rmv in rmbObjects) {
currentObject.Remove(rmv);
Destroy(rmv);
}
}
private void ObjectSpawn(float position) {
if(position < 13f) {
float randomPlatform = Random.Range(0f, 20f);
if(randomPlatform < 8f) {
landObject = land[0].prefab;
landScore = land[0].score;
GameObject spawned = (GameObject)Instantiate(landObject);
spawned.transform.position = new Vector2(position, -5.5f - Random.value * 2.5f);
}
else {
landObject = land[1].prefab;
landScore = land[1].score;
GameObject spawned = (GameObject)Instantiate(landObject);
spawned.transform.position = new Vector2(position, -4.0f - Random.value * 2.5f);
}
position += mingap + Random.value * (maxgap - mingap);
//currentObject.Add(spawned);
ObjectSpawn(position);
}
}
Comment
Your answer
Follow this Question
Related Questions
How to move a Game Object from a script not attached to it. 1 Answer
GameObject wont stop rotating ? 1 Answer
Stop moving GameObject 1 Answer
How to make a gameobject shake. 1 Answer
Separate Objects after Mouse Clicking in Unity 5.6.4 1 Answer