Oye, fantástico. Explicas superclaro y muy entendible. Porfa continúa con este tipo de tutoriales para juegos de plataformas 2D. De lo mejor que he visto. Gracias!!!
Me encantan estos videos, me ayudan a conocer este motor super interesante. Mil gracias Además me ofrece como una guía de buenas prácticas en la división de escenas, en la separación de carpetas dedicadas, etc :)
Muchas gracias! La organización de carpetas puede variar de proyecto a proyecto. En este caso decidí hacerlo asi por ser un proyecto pequeño. Pero si el proyecto escala, algo que se suele hacer también es crear una carpeta para cada escena, organizando los assets de cada una de ellas. Saludos y me alegra que te guste el video!
muchas gracias por tus cursos son de los mejores que eh encontrado en UA-cam y me atrevería a decir que en general contando hasta uno que otro curso que eh comprado en udemy que la verdad algunos se quedan cortos o están desactualizados, estaría genial que hicieras un curso completo en udemy sobre godot :3
me vi varios videos explicando la lógica del movimiento y para un aprendiz como yo, este me parecio por lejos el mejor explicado, videos así merecen mas apoyo
En la parte de poner de organizar la funcion de Jump no me funcionaba colocar simplemente jump(delta) y me saltaba un error asi que coloque velocity.y += gravity * get_process_delta_time() en vez de velocity.y += gravity * delta y dejo de saltar errores y funcionaba exactamente como en el video, crees que eso perjudique en un futuro el movimiento del personaje?
Buenas, una pregunta, en la parte del movimiento, de la función flip, al momento de presionar la tecla izquierda el personaje no se voltea, si no que se desaparece, me pueden ayudar a arreglar ese problema, por favor?
Fantástico video, como siempre. Yo seguia rus videos de unity pero ahora me he pasado a godot, sigo a varios canales del tema pero eres de los que mejor explicas. Con muchas ganas que sigas con estos videos de godot.
Sigo al pie de la letra pero hay algo que no puedo resolver y es que cuando le doy al boton play solo me muestra al player y cuando le doy a ejecutar escena actual solo me muestra la plataforma.
grandeeee! llegué a este video por el mensaje que mandaste diciendo que había pasado algo desapercibido, es una lastima porque siempre se aprenden buenas practicas en este canal! quizá sea porque en youtube uno de los pocos tutoriales que es fácil de encontrar para godot es el de movimiento plataformero y entre tanta cosa se pierde. ojalá sigas haciendo contenido de este motor, quizá algo mas difícil de encontrar en español como las maquinas de estado, el generador aleatorio de calabozos o algún otro contenido que se ve solo en inglés podría tener un resultado diferente. como sea, siempre gracias por tus videos.
Es cierto, hay material de plataformeros 2D, pero no se si taaanto (y menos en español). Uno más no viene mal jaja. Totalmente de acuerdo, te agradezco por tus sugerencias, voy a tratar de indagar en otras cuestiones que no estén demasiado cubiertas en español.
Excelente video!!! Muy bien explicado, genial para entender las mecanicas de un plataformas y con muchos truquillos de Godot. Me resultó muy util!! Muchas Gracias! A la espera de más contenido de este tipo. Sería interesante ver algo de la máquinas de estados.
podria usted crear video tutorial de interaccion a objetos, quiero crear un arbol que se pueda talar y suelte el objeto que vendria siendo para mi madera del arbol, lo necesito aprender
Me podrías ayudar con una cosa? Lo que pasa es que yo hice una animación de salto con 2 sprites y aunque desactive la opción de loop en la animación de jump aún así se repite mientras estoy saltando y no se cómo hacer para que solo se repita una vez
Una solución a tu problema puede ser usar la señal animation_finished de modo que cuando termine la animación de golpear puedas volver al estado idle (por ejemplo con un booleano)
Buenas, una duda, tengo el código de movimiento y todo, pero mi personaje al mantener pulsado el botón de movimiento solo da un paso. No se mantiene andando. Alguien sabría decirme como cambiar eso y que el movimiento sea mientras pulsas el botón de movimiento?
Hola Alberto, me imagino que en la animación de correr no la pusiste en loop. Fijate que es un botón pequeño con 2 flechas en circulo. Para la de idle también tendrías que tenerla en loop.
Muchas gracias!! lo solvente, te lo agradezco mil, voy a ver todos tus vídeos, muchas gracias por el contenido no hay mucho de GODOT en internet y menos de la v4.
alguien sabe en que situaciones se usa _process() y _physics_process() ? por lo que estube viendo la diferencia entre los dos es que uno es un poco mas estable entre los tiempos del delta y otro depende mas de el hardware
Hola! _process se ejecuta una vez por frame, osea cada vez que se refresca la pantalla (por lo tanto, según tu hardware puede ejecutarse más o menos veces, según cuantos FPS sea capaz de correr) y _physics_process se ejecuta cada vez que se actualizan las físicas (por defecto 60 veces por segundo). Esto ya nos da una idea de que se hace en cada función: si tu nodo tiene que detectar colisiones o si se mueve por simulación física (rigidbody) deberías hacer el movimiento en _physics_process. Esto es vital para que la simulación física sea correcta y que no tengas problemas con detección de colisiones. Para movimientos que no involucren ningún tipo de simulación física y colisiones deberías hacer el movimiento en _process.
bro me ayudaste un monton, solo una cosita en la animacion de caida cuando ya toca el piso directamente pasa a estar en posicion "de pie" y yo quiero que en la caida tenga la animacion completa, porque mi sprite es que cae y se arrodila en el piso para pararse. muchas gracias crack
Hola! Lo que se me ocurre es que podes reproducir la animación de arrodillarse apenas toque el suelo. Durante la animación podrías inhabilitar los inputs hasta que la animación se complete. Podrías ayudarte con un timer (seteado en el tiempo que dura la animación) o con la señal animation finished (luego de que se emita la señal volves a habilitar lols inputs).
No me funcionó, específicamente en cuando haces el Script para que cuando apreté la teclas se ejecuten las animaciones, no se por que no se ejecutan las animaciones ni se mueve para la derecha
Podria hacer un tutorial de recoleccion con arboles??? Con talar, que el jugador pueda hacer la animacion de talar al acercarse al arbol pero que tenga un limite y se caiga el arbol con animacion y suelte objetos( ( pero que tenga limites de la animacion talar el jugador - ejemplo en arboles grandes 5 veces la animacion talar y aga la animacion el arbol de caerse
Se Me olvido decir que el arbol tiemble al jugador este con la animacion talando(((Resumido ( el jugador cerca del arbol talando, el arbol tiembla, llegando el limite animacion del arbol caerse y suelta objetos
Hola amigo!!! Podrías hacer un tuto plataformas 2D, continuación a este, sobre tilesets, ataques a enemigos, ... Se echan de menos "tus buenos tutoriales explicados en castellano". Muchas gracias
Muy buen video, nuevo sub. Una pregunta, como se podría hacer para que al saltar no fuese inmediato ( si, lo sé parece absurdo ) y hubiese un "retraso" de unos milisegundos antes de que el jugador salga disparado hacia arriba?
Justamente este video está pensado para un movimiento simple, por eso no use máquinas de estados. Pero probablemente suba un video del tema más adelante!
Si tu objetivo es reproducir dos animaciones al mismo tiempo en un mismo nodo, eso no es posible en un AnimatedSprite2D. Pensá que no tiene mucho sentido reproducir 2 animaciones de sprites a la vez, ¿cuál visualizarías? O es una o es la otra. El AnimatedSprite2D permite reproducir una animación a la vez. Quizás te estás confundiendo con el nodo AnimationPlayer que permite animar varias propiedades a la vez.
@@Indierama bueno por lo menos , me gustria que explicaras al hacer tus videos cada cosa . Para que se usa y eso al hacer los tutoriales. Bien detallado para uno aprender las estructuras
Buen video, aun no entiendo como es la programación en Godot me refiero a que no se parece a la programación C#. Si hicieras un video de programación en godot para principiantes sería de gran ayuda.🎉
Muchas gracias por comprarlo 😀. Probablemente! si a la gente le interesa que saque un curso de Godot lo voy a hacer. Pero aun necesito recuperarme de haber hecho el curso de Unity 😅. Así que no sería un futuro cercano.
alguien puede poner el sprit en el chat para copiarlo
Місяць тому
extends CharacterBody2D var mode_speed = 100 @export var jump_speed : float @onready var animated_sprite = $AnimatedSprite var is_facing_right = true var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") func _physics_process(delta): jump(delta) move_x() flip() update_animations() move_and_slide()
func update_animations(): if not is_on_floor(): if velocity.y < 0: animated_sprite.play("jump") else: animated_sprite.play("fall") return
if velocity.x: animated_sprite.play("run") else: animated_sprite.play("idle") func jump(delta): if Input.is_action_just_pressed("jump") and is_on_floor(): velocity.y = -jump_speed
if not is_on_floor(): velocity.y += gravity * delta
func flip(): if(is_facing_right and velocity.x < 0) or (not is_facing_right and velocity.x > 0): scale.x *= -1 is_facing_right = not is_facing_right func move_x(): var input_axis = Input.get_axis("move_left", "move_right") velocity.x = input_axis * mode_speed
Buenas, una pregunta, en la parte del movimiento, de la función flip, al momento de presionar la tecla izquierda el personaje no se voltea, si no que se desaparece, me pueden ayudar a arreglar ese problema, por favor?
Sigue asi pa. (Den like para alimentar el algoritmo de Indierama)
✨✨
Oye, fantástico. Explicas superclaro y muy entendible. Porfa continúa con este tipo de tutoriales para juegos de plataformas 2D. De lo mejor que he visto. Gracias!!!
Muchísimas gracias! Siempre que la gente muestre algo de interés voy a seguir subiendo! Saludos!
En cuanto saque hueco me lo veo entero, muchas gracias por traer más contenido de Godot!❤
🙌🙌
Me encantan estos videos, me ayudan a conocer este motor super interesante. Mil gracias
Además me ofrece como una guía de buenas prácticas en la división de escenas, en la separación de carpetas dedicadas, etc :)
Muchas gracias! La organización de carpetas puede variar de proyecto a proyecto. En este caso decidí hacerlo asi por ser un proyecto pequeño. Pero si el proyecto escala, algo que se suele hacer también es crear una carpeta para cada escena, organizando los assets de cada una de ellas. Saludos y me alegra que te guste el video!
Me gusta que se extienda la explicación a como funciona y por que funciona en lugar de solo darte la solución como otros canales
Solo vi 10 minutos recién, dejo el resto para más tarde, pero siempre se aprende algo con tus videos, aunque sea en la forma de pensar los proyectos
Gracias Nico! Espero que te sirva!
wtf bro recien me meti a esto de programar y gracias a Dios encontre tu tutorial explicas super claro ademas de que se te endiende sigue asi bro
muchas gracias por tus cursos son de los mejores que eh encontrado en UA-cam y me atrevería a decir que en general contando hasta uno que otro curso que eh comprado en udemy que la verdad algunos se quedan cortos o están desactualizados, estaría genial que hicieras un curso completo en udemy sobre godot :3
Muchísimas gracias! Me encantaría, pero no sería en un futuro cercano 😅
gracias :D
hace unos días me tiré al mundo de la programación para crear mi propio juego, esto me ayudo mucho, gracias de verdad
Me alegra que te ayude 🙌🙌
amigo, eres impresionante, que bonito encontrarte ¡gracias!
Muchísimas gracias! 😊😊
de 10 como siempre
Gracias Rodrigo!
Espectacular! Esperando la continuación!
muy bueno, muy bien explicado. Que paciencia
Muchas gracias 😅😅
me vi varios videos explicando la lógica del movimiento y para un aprendiz como yo, este me parecio por lejos el mejor explicado, videos así merecen mas apoyo
Muchísimas gracias! Me alegra que te haya gustado!
En la parte de poner de organizar la funcion de Jump no me funcionaba colocar simplemente jump(delta) y me saltaba un error asi que coloque
velocity.y += gravity * get_process_delta_time()
en vez de velocity.y += gravity * delta
y dejo de saltar errores y funcionaba exactamente como en el video, crees que eso perjudique en un futuro el movimiento del personaje?
Buenas, una pregunta, en la parte del movimiento, de la función flip, al momento de presionar la tecla izquierda el personaje no se voltea, si no que se desaparece, me pueden ayudar a arreglar ese problema, por favor?
Fantástico video, como siempre. Yo seguia rus videos de unity pero ahora me he pasado a godot, sigo a varios canales del tema pero eres de los que mejor explicas. Con muchas ganas que sigas con estos videos de godot.
La idea es seguir subiendo y ver como los va recibiendo la gente! Muchísimas gracias Carlos!
Sigo al pie de la letra pero hay algo que no puedo resolver y es que cuando le doy al boton play solo me muestra al player y cuando le doy a ejecutar escena actual solo me muestra la plataforma.
Muchísimas gracias!
🙌🙌
grandeeee! llegué a este video por el mensaje que mandaste diciendo que había pasado algo desapercibido, es una lastima porque siempre se aprenden buenas practicas en este canal! quizá sea porque en youtube uno de los pocos tutoriales que es fácil de encontrar para godot es el de movimiento plataformero y entre tanta cosa se pierde. ojalá sigas haciendo contenido de este motor, quizá algo mas difícil de encontrar en español como las maquinas de estado, el generador aleatorio de calabozos o algún otro contenido que se ve solo en inglés podría tener un resultado diferente. como sea, siempre gracias por tus videos.
Es cierto, hay material de plataformeros 2D, pero no se si taaanto (y menos en español). Uno más no viene mal jaja. Totalmente de acuerdo, te agradezco por tus sugerencias, voy a tratar de indagar en otras cuestiones que no estén demasiado cubiertas en español.
Excelente video!!!
Muy bien explicado, genial para entender las mecanicas de un plataformas y con muchos truquillos de Godot.
Me resultó muy util!! Muchas Gracias!
A la espera de más contenido de este tipo.
Sería interesante ver algo de la máquinas de estados.
Muchas gracias! Lo de máquinas de estado ya me lo vienen pidiendo bastante, así que más adelante puede armar algo.
muy bueno gracias
🙌🙌
Muy bueno tus tutoriales, muy claros!!! capo!!!
Muchas gracias Eduardo!
Que hago si es que tengo las animaciones pero en una foto png y no por separado como los separo? O hay alguna funcion en godot para eso?
Muy bueno @indierama !! Muchas gracias por este tutorial. Estaría genial si nos enseñas a crear un personaje que pueda apuntar con el mouse!
Muchas gracias! Seguramente va a haber algo tipo top down shooter mas adelante!
podria usted crear video tutorial de interaccion a objetos, quiero crear un arbol que se pueda talar y suelte el objeto que vendria siendo para mi madera del arbol, lo necesito aprender
Muy bueno. Gracias!!
🙌🙌
Muchas gracias amigo, me ayudaste muchisimo ❤❤
Muchas gracias!
Muy buen video changuito! me gusta mucho como explicas cada caso. Me lo llevo para compartir :P
Muchas gracias! Comparta que me ayuda 😎
Me podrías ayudar con una cosa? Lo que pasa es que yo hice una animación de salto con 2 sprites y aunque desactive la opción de loop en la animación de jump aún así se repite mientras estoy saltando y no se cómo hacer para que solo se repita una vez
Bro una pregunta como puedo quitar el desenfoque de movimiento, para evitar mareos ?
Gracias por hacerme entender Godot!! #EnHoraBuena #Indierama
Muchas gracias! Me alegra que te guste!
Muy bueno sos el Maradona de Godot!
No se si para tanto pero muchas gracias! 😅😅
Comentando para colaborar :D
hola me sirvio mucho, pero queria hacer unaa animacion de pegar y creo que la anmacion de estar quieto la obstruye
Una solución a tu problema puede ser usar la señal animation_finished de modo que cuando termine la animación de golpear puedas volver al estado idle (por ejemplo con un booleano)
Buenas, una duda, tengo el código de movimiento y todo, pero mi personaje al mantener pulsado el botón de movimiento solo da un paso. No se mantiene andando. Alguien sabría decirme como cambiar eso y que el movimiento sea mientras pulsas el botón de movimiento?
Hola Alberto, me imagino que en la animación de correr no la pusiste en loop. Fijate que es un botón pequeño con 2 flechas en circulo. Para la de idle también tendrías que tenerla en loop.
@@Indierama Si, lo acabo de comprobar y están activados en todos. No sé que podría ser.
Muchas gracias!! lo solvente, te lo agradezco mil, voy a ver todos tus vídeos, muchas gracias por el contenido no hay mucho de GODOT en internet y menos de la v4.
porque en ves de hacerlo animatedsprite2d lo hacen en sprite2d???
Inicio con el Sprite2D (por cuestiones de facilidad de explicación) pero más adelante en el video lo cambio a AnimatedSprite2D.
alguien sabe en que situaciones se usa _process() y _physics_process() ? por lo que estube viendo la diferencia entre los dos es que uno es un poco mas estable entre los tiempos del delta y otro depende mas de el hardware
Hola! _process se ejecuta una vez por frame, osea cada vez que se refresca la pantalla (por lo tanto, según tu hardware puede ejecutarse más o menos veces, según cuantos FPS sea capaz de correr) y _physics_process se ejecuta cada vez que se actualizan las físicas (por defecto 60 veces por segundo). Esto ya nos da una idea de que se hace en cada función: si tu nodo tiene que detectar colisiones o si se mueve por simulación física (rigidbody) deberías hacer el movimiento en _physics_process. Esto es vital para que la simulación física sea correcta y que no tengas problemas con detección de colisiones. Para movimientos que no involucren ningún tipo de simulación física y colisiones deberías hacer el movimiento en _process.
Gran laburo! Clarísimo como siempre!
Muchas gracias Santiago!
bro me ayudaste un monton, solo una cosita en la animacion de caida cuando ya toca el piso directamente pasa a estar en posicion "de pie" y yo quiero que en la caida tenga la animacion completa, porque mi sprite es que cae y se arrodila en el piso para pararse. muchas gracias crack
Hola! Lo que se me ocurre es que podes reproducir la animación de arrodillarse apenas toque el suelo. Durante la animación podrías inhabilitar los inputs hasta que la animación se complete. Podrías ayudarte con un timer (seteado en el tiempo que dura la animación) o con la señal animation finished (luego de que se emita la señal volves a habilitar lols inputs).
No me funcionó, específicamente en cuando haces el Script para que cuando apreté la teclas se ejecuten las animaciones, no se por que no se ejecutan las animaciones ni se mueve para la derecha
super bueno me ayudo mucho
😀
Gracias! Me alegro!
Muy bueno! Una explicación de excelente calidad!
Muchas gracias! 🙌🙌
Podria hacer un tutorial de recoleccion con arboles??? Con talar, que el jugador pueda hacer la animacion de talar al acercarse al arbol pero que tenga un limite y se caiga el arbol con animacion y suelte objetos( ( pero que tenga limites de la animacion talar el jugador - ejemplo en arboles grandes 5 veces la animacion talar y aga la animacion el arbol de caerse
Se Me olvido decir que el arbol tiemble al jugador este con la animacion talando(((Resumido ( el jugador cerca del arbol talando, el arbol tiembla, llegando el limite animacion del arbol caerse y suelta objetos
Usted puede hacer eso ??? Estoy estancado en eso
Hola amigo!!! Podrías hacer un tuto plataformas 2D, continuación a este, sobre tilesets, ataques a enemigos, ... Se echan de menos "tus buenos tutoriales explicados en castellano". Muchas gracias
Muy buen video, nuevo sub. Una pregunta, como se podría hacer para que al saltar no fuese inmediato ( si, lo sé parece absurdo ) y hubiese un "retraso" de unos milisegundos antes de que el jugador salga disparado hacia arriba?
Hola, gracias! Podrías hacerlo con un timer. Osea, apretas la tecla, inicias el timer y cuando termina la cuenta (señal timeout) haces el salto
@@Indierama Muchas gracias, voy a investigar eso del timer
Esclarecedor. Cuando podrías hacer una máquina de estados?
Justamente este video está pensado para un movimiento simple, por eso no use máquinas de estados. Pero probablemente suba un video del tema más adelante!
como puedo poner dos animaciones juntas?
Si tu objetivo es reproducir dos animaciones al mismo tiempo en un mismo nodo, eso no es posible en un AnimatedSprite2D. Pensá que no tiene mucho sentido reproducir 2 animaciones de sprites a la vez, ¿cuál visualizarías? O es una o es la otra. El AnimatedSprite2D permite reproducir una animación a la vez. Quizás te estás confundiendo con el nodo AnimationPlayer que permite animar varias propiedades a la vez.
Por favor hace un curso en udemy de godot, explicas muy bien
Muchas gracias! Ya lo tengo planeado, solo necesito tiempo 😅
muy buen video
Bro puedes aser un video de como aser el Dash o inpurso, y doble salto
Pronto voy a subir más videos de temas de plataformas 2d!
puedes hacer tutorial para hacer juegos de mesas como ajedrez ,domino ,parches. Que sean multijugador
No lo tengo en mis planes, pero quien sabe más adelante 🤷♂️
@@Indierama bueno por lo menos , me gustria que explicaras al hacer tus videos cada cosa . Para que se usa y eso al hacer los tutoriales. Bien detallado para uno aprender las estructuras
@@Lansamatv Creo que eso es exactamente lo que hago
Buen video, aun no entiendo como es la programación en Godot me refiero a que no se parece a la programación C#. Si hicieras un video de programación en godot para principiantes sería de gran ayuda.🎉
Muchas gracias! Me estoy planteando hacer una pequeña serie de GDScript
muy buenos videos
Gracias Aldo!
Se que hace poco sacaste un curso de unity en udemy, ya soy estudiante Pero a futuro planeas sacar uno de godot ?
Muchas gracias por comprarlo 😀. Probablemente! si a la gente le interesa que saque un curso de Godot lo voy a hacer. Pero aun necesito recuperarme de haber hecho el curso de Unity 😅. Así que no sería un futuro cercano.
la voz se parese a la de dareh
Me ayudas el jugar no para de caer
Atraviesa los bloques
Le falta un collision shape o al jugador o a la plataforma. Si no sabes lo que es mira el tutorial del Pong de mi canal
@@Indierama vale muchas gracias
alguien puede poner el sprit en el chat para copiarlo
extends CharacterBody2D
var mode_speed = 100
@export var jump_speed : float
@onready var animated_sprite = $AnimatedSprite
var is_facing_right = true
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
func _physics_process(delta):
jump(delta)
move_x()
flip()
update_animations()
move_and_slide()
func update_animations():
if not is_on_floor():
if velocity.y < 0:
animated_sprite.play("jump")
else:
animated_sprite.play("fall")
return
if velocity.x:
animated_sprite.play("run")
else:
animated_sprite.play("idle")
func jump(delta):
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = -jump_speed
if not is_on_floor():
velocity.y += gravity * delta
func flip():
if(is_facing_right and velocity.x < 0) or (not is_facing_right and velocity.x > 0):
scale.x *= -1
is_facing_right = not is_facing_right
func move_x():
var input_axis = Input.get_axis("move_left", "move_right")
velocity.x = input_axis * mode_speed
no logro entender nada, explicas bien pero me pierdo facil
Quizás deberías empezar por este video: ua-cam.com/video/YCTPNRw1EXo/v-deo.html&lc=Ugxgv0JhcfjDxxv8bu14AaABAg
Buenas, una pregunta, en la parte del movimiento, de la función flip, al momento de presionar la tecla izquierda el personaje no se voltea, si no que se desaparece, me pueden ayudar a arreglar ese problema, por favor?
porfa respondanmee