Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Clase 12 Python

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 27

Python

Limitar el Movimiento
del Jugador

En este juego, la pantalla es de 800


píxeles de ancho y 600 píxeles de
alto, y tienes un jugador (una nave
espacial) que puede moverse hacia
arriba, abajo, izquierda y derecha.
Esta parte del código asegura que la
nave no se salga de la pantalla.
La anterior clase aprendimos a
insertar un personaje, darle
movimiento y setear nuestra ventana
del juego

Ahora que sentido tiene un juego si no existe ningún


enemigo? Como lo creariamos teniendo en cuenta lo que
fue el proceso para generar al personaje principal?
Agregar Enemigo
Agregamos una imagen de 32px o
64px en nuestra carpeta del
proyecto y luego generamos el
código correspondiente copiando al
del jugador. Esta vez el enemigo si
tendrá una constante de movimiento
fija puesto que no dependerá del
accionar de las teclas.

El enemigo tendrá un movimiento por defecto?


Recordemos que el movimiento era controlado por
las variables enemigo_x_cambio y enemigo_y_cambio
Posicionamiento enemigo

A la variable enemigo_y_cambio por mas de


que le asignemos una constante, haremos que
surja efecto únicamente en determinado caso
Cómo quedará nuestra #Funcion
Enemigo teniendo en cuenta la
estructura que utilizamos para el
jugador principal?
Recordemos ejecutarla con la
línea de código:
Movimiento del enemigo

Para el movimiento del enemigo queremos


que cambie su posición en x de izquierda a
derecha y cuando toque un borde que no
solo rebote sino que también cambie su
posición en y acercándose a nuestro
jugador principal cada vez más agregando
complejidad
Movimiento del enemigo
Crear bala

Como harias para crear una bala


replicando lo que hicimos con el
jugador y enemigo?
Crear bala
Función disparar bala
Disparar Bala

Cual va a ser el evento que dispare a


la bala en nuestro loop del juego?
Disparar Bala
Cuando ejecutamos la
función?

Cuando haya sido presionada la tecla


espacio y el valor de la variable
bala-visible sea True
Movimiento Bala

La bala debe aparecer desde la


posición de la nave e ir modificando
su posición en y (Negativamente o
positivamente?), pero no debe
replicar la trayectoria x de la nave una
vez disparada.
Ahora cómo hacemos para
disparar más de una bala?

Deberíamos encontrar la lógica para


que cuando la bala supere cierta altura
la variable bala visible cambie a False y
podamos volver a presionar la tecla y
disparar otra bala
Ahora cómo hacemos para
disparar más de una bala?

Si la posición en y de la bala es menor a la posición


0 - la cantidad de px de la imagen entonces quiere
decir que la bala ya se salio del marco superior, por
ende reseteamos el valor de bala_visible a False.
Colisiones

Que ideas se les ocurren para calcular


cuando un objeto colisiona con otro?
Que calculos fisicos podemos hacer?
Colisiones

Para calcular colisiones debemos


saber a que distancia estan dos
objetos entre sí. Para eso necesitamos
una formula
Distancia entre dos
puntos

Esta fórmula es
popular entre los
desarrolladores de
videojuegos y expone
cómo calcular la
distancia entre dos
puntos en un eje de
coordenadas
Distancia entre dos
puntos
Luego crearemos una función
para las colisiones
Para replicar esta
fórmula necesitaremos
una librería llamada
math, que sirve en
python para realizar
cálculos matemáticos
Ejecutar función de
En el loop del juego la
distancia ejecutaremos
Asignar puntaje

Como harias para imprimir en


consola el puntaje cada vez que
derribas a un ovni?
Ahora hagámoslo sobre la pantalla del juego,
Asignar puntaje para eso utilizaremos pygame.font y la fuente
freesansbold es la que está incluida en pygame,
el siguiente valor es el tamaño en pixeles
Asignar puntaje

En algún momento tenemos que llamar a la función


Hasta la próxima
clase
presencial!!!

También podría gustarte