En este momento estás viendo Quiero crear un script C# que cree un mapa infinito aleatorio para mi juego de lucha

 – Unity

Quiero crear un script C# que cree un mapa infinito aleatorio para mi juego de lucha – Unity

Quiero crear un script C# que cree un mapa infinito aleatorio para mi juego de lucha

– UnityAssets3Free

bienvenido , me llamo Camilo y en esta ocasion os traigo
esta unity pregunta

Hice un juego de lucha en 2D en el que el jugador debe viajar por el mapa agarrando de un objeto a otro. Ahora simplemente arrastré algunas de estas casas prefabricadas a mi escena para experimentar el juego. También tengo algunos power-ups y obstáculos. Sin embargo, quiero que el mapa sea infinito en el eje x. Para lograr esto, quiero instanciar aleatoriamente mis prefabricados de mapas cuando el jugador o, más bien, los límites de la cámara se mueven. También quiero que el script funcione con diferentes probabilidades y posiciones de generación aleatorias para los prefabricados del mapa. No estoy seguro de cómo abordar esto, ya que no sé si tendría sentido usar algún tipo de fragmentos generados aleatoriamente que se instancian o algo más.

El único script que he hecho hasta ahora es este:

using System.Collections.Generic;
using System.Collections.Specialized;
using UnityEngine;

public class MapBuilder : MonoBehaviour

    private Vector2 screenBounds;

    [Header("Map Prefabs:")]
    public GameObject Rec;
    public GameObject Circle;
    public GameObject Coin;
    public GameObject Thorn;
    public GameObject Time;
    public GameObject Boost;
    public GameObject Multi;
    public GameObject Disabler;

    void Start()
    
        screenBounds = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width, Screen.height, Camera.main.transform.position.z));
    



vista de escena

captura de pantalla del juego

1 respuesta 1

El mejor enfoque depende en gran medida de lo que quieras exactamente. Esta es la primera opción que se me ocurrió.

  1. Comience generando el rectángulo del medio y todos los rectángulos a su alrededor.
  2. Cuando el centro de la cámara vaya más allá de uno de los bordes, genere nuevos rectángulos para que siempre se genere el mapa alrededor de su cámara. Por ejemplo, si su cámara es para rectángulo (1,0), genere (2, -1), (2, 0) y (2, 1)

Generando un rectángulo:

  1. Genere tantos elementos de mapa como desee en este rectángulo.
  2. Aleatoriza sus posiciones dentro de este rectángulo.

nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias

por hoy,espero que te funcione

Deja una respuesta