Introducci贸n al curso y proyecto

1

Qu茅 aprender谩s para programar videojuegos 2D con Unity

2

Introducci贸n a Unity e instalaci贸n

3

Configuraci贸n del proyecto y la interfaz de Unity

4

Importaci贸n de assets

5

Proyecto final

Herramientas para 2D

6

Instalaci贸n de los 2D extras

7

Uso de tilemaps y palettes

8

Soluci贸n del reto: creaci贸n del escenario

Gameplay

9

Agregando nuestro primer script

10

Movimiento del jugador

11

Comportamiento de la c谩mara

12

Disparo direccional

13

Creaci贸n de un proyectil

14

Manejando la cadencia de disparo

15

Crear un target

16

Comportamiento de enemigo

17

Soluci贸n del reto: da帽o a Personaje y Enemigos

18

GameManager

19

Controlar las instancias de enemigos

20

Creaci贸n de Spawnpoints de enemigos

21

Creaci贸n de 铆tems para el jugador

22

Creaci贸n de PowerUps

23

Usando los PowerUps

24

Soluci贸n del reto: invulnerabilidad temporal del jugador

25

Registro de puntuaci贸n

26

Delimitar y mejorar el escenario

27

Interactuando con el escenario

Interfaz de usuario

28

Comenzando a crear la Interfaz de Usuario (UI)

29

Pantalla de Game Over

30

Diagramaci贸n del HUD

31

Comportamiento del HUD

Implementaci贸n de arte

32

Animaci贸n del personaje

33

Soluci贸n del reto: animaci贸n de los enemigos

34

Configurar arte de la UI

35

Agregar VFX: efecto de parpadeo

36

Agregar VFX: sacudiendo la c谩mara

37

Agregar m煤sica y SFX

Depuraci贸n y 煤ltimos toques

38

Depuraci贸n y correcci贸n de detalles

39

Crear un ejecutable para PC

40

隆Conoce los proyectos de este curso y dales feedback!

41

Conclusi贸n

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Creaci贸n de Spawnpoints de enemigos

20/41
Recursos

Aportes 5

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

<h3>Para los que no les guste el comportamiento del enemigo que va con mayor velocidad al inicio de su recorrido, podemos usar la funcion:</h3>
Vector3.MoveTowards()

La cual e ocupa de la siguiente manera:

        transform.position = Vector3.MoveTowards(transform.position, _player.position, velocity * Time.deltaTime);

Lo cual nos dara el vector resultante para que nuestro objeto llegue hasta su destino.
Primer parametro :Posici贸n actual del objeto que queremos mover(En este caso transform.position del script enemy)
Segundo parametro: Posici贸n a la cual deseamos mover el objeto(En este caso la posici贸n del player)
Tercer Parametro: Distancia a recorrer por frame(En este caso, la velocidad por el tiempo de cada frame, ya que se ejecuta en el Update)

Con Unity tenemos el objeto random, al que podemos utilizar para las elecciones aleatorias, y definimos un rango de elecciones, con el m茅todo Range(start, finish).

Crear posiciones aleatorias al rededor del jugador:

// Asignamos la distancia a la que deben aparecer los enemigos del jugador (Radio)
[SerializeField] float startDistanceToEnemy = 5f;
// En el m茅todo Start, mandamos a llamar la funci贸n que generara la posicion
void Start() {
	// Find Player Object
	player = FindObjectOfType<Player>().transform;    
	// Llamar funci贸n para asignar posici贸n 
	SetRandomPosition();
}

// Asignar posici贸n al rededor del jugador
 private void SetRandomPosition() {
	// Generamos la posicion X al azar 
	// (entre 0 y la distancia que queremos que aparezca el enemigo)
	float x = Random.Range(0, startDistanceToEnemy);
	//  Dado que X, puede ser cualquier n煤mero entre 0 y startDistanceToEnemy 
	// (en este caso 5), debemos calcular la posici贸n y, para asegurarnos 
// que se encuentre a una distancia constante
	// Se usa una formula matem谩tica Y^2 = R^2 鈥 X^2 
        float y = Mathf.Pow(Mathf.Pow(startDistanceToEnemy, 2) - Mathf.Pow(x, 2), .5f);
	// Random para saber si lo haremos positivo o negativo
        int leftOrRight = Random.Range(0, 2);
	// Generamos el vector para la posici贸n del enemigo
        Vector3 positionEnemy = new Vector3(x, y, 0);
	
	// Evaluamos si ser谩 positivo o negativo y asignamos la posici贸n 
        if (leftOrRight == 0)
            transform.position = player.position + positionEnemy;
        else
            transform.position = player.position - positionEnemy;
}

Genial

muy buena clase bien explicado