Avanzando.
Introducción
Bienvenida a Godot Engine
¿Qué es Godot?
Conoce los lenguajes que soporta Godot
Aprende qué son los nodos, escenas, árboles y señales
Cómo inicié en Godot
Tu primer juego
¿Qué juego vas a desarrollar?
Definiendo los límites del escenario
Creando tu personaje
Programando el movimiento y sus controles
Dando vida a la pelota
Cómo lidio con la frustración al programar
Desarrollando el juego
Desarrollando la IA de tu oponente
Conectando todos los nodos
Creando el marcador
Realiza los últimos ajustes y exporta tu juego
Conclusión
¿Por dónde seguir tu ruta de Godot?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 9
Preguntas 2
Avanzando.
Si se dan cuenta hay un pequeño bug cada vez que entra en la porteria del contrario va desapareciendo en x
Reset de Jalabola!
Vamos! Ya casi terminando!
Para el que tenga el bug de que si la pelota colisiona por arriba o por abajo del jugador o del oponente el nodo se mueva en x por que la pelota lo este moviendo aquí esta la solución a su problema.
var fixedx
func _ready():
fixedx = position.x
position.x = fixedx
Me paso algo peculiar, creo que es un bug, pero no se si sea la versión de Godot, estoy usando la beta 4, y pasa cuando la bola colisiona en las esquinas de las “paletas”, ya sea del player o la cpu, en la de “paleta” de la cpu la hace moverse en el eje x, en la del player hay veces que la captura y la “paleta” queda enlazada a la bola jajaja
aqui va mi codigo y me funciono de maravilla 😃
Genial esta parte, gracias a algunos aportes he implementado la idea de resetear la position horizontal de los jugadores y de generar la pelota siempre en el centro horizontal pero a cualquier altura, eso se logra con la introduciendo este código en la función _restart_game():
//Para resetear posición horizontal
$Oponente.position = Vector2(1870, $Oponente.position.y)
$Player.position= Vector2(50,$Player.position.y)
//Para crear altura aleatoria a la pelota
randomize()
var altura = randi()%1080 //el-1080-marca-el-limite-maximo
$Ball.position = Vector2(960,altura)
Por otro lado, aún me queda corregir el error que da la pelota cuando choca en una de las esquinas del enemigo o jugador, pues lo termina empujando un poquito.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?