Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Random Generated Obstacles. | Improve the Flappy Bird Game
Fighting Game in Unity
course content

Course Content

Fighting Game in Unity

Fighting Game in Unity

1. Unity Animation System
2. Player Behavior
3. Enemy Behavior
4. Improve the Game
5. Improve the Flappy Bird Game

book
Random Generated Obstacles.

The Obstacle class manages obstacles in the game, ensuring they reposition themselves when they go off-screen to maintain continuous gameplay.

Methods

Start Method

Purpose: Initializes the last obstacle and finds the player's transform.

How It Works: lastObject = startingLastObject;: Sets the lastObject to the initial obstacle specified in the Inspector; player = FindAnyObjectByType<PlayerMVT>().transform;: Finds the player's transform using FindAnyObjectByType method.

OnBecameInvisible Method

Purpose: Repositions the obstacle when it goes off-screen and meets certain conditions.

How It Works: The script ensures the player exists before proceeding (if (player == null) return;), verifies the obstacle is positioned behind the player (if (transform.position.x >= player.position.x) return;), and prevents consecutive repositioning (if (transform == lastObject) return;).

It retrieves the current obstacle position (Vector2 position = transform.position;), generates a random number (float random = Random.Range(0, 100);), and adjusts the obstacle's y-position based on the random number.

Then, it updates the x-position relative to the last obstacle (position.x = lastObject.position.x + Random.Range(6f, 10f);), and updates lastObject to refer to the current obstacle (lastObject = transform;).

Summary

  • Initialization: Sets the initial last obstacle and finds the player;
  • Repositioning: When an obstacle goes off-screen and meets specific conditions, it is repositioned at a random distance ahead of the last obstacle with a random height;
  • Conditions: Ensures obstacles are only repositioned if they are behind the player, and not the same obstacle repeatedly.

This setup allows for a continuous flow of obstacles in the game, maintaining challenge and variety for the player.

What determines the new y-position of the object when it becomes invisible and is repositioned?

What determines the new y-position of the object when it becomes invisible and is repositioned?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 5. Chapter 3
We're sorry to hear that something went wrong. What happened?
some-alt