PONG en Unity en 10 MINUTOS!

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ก.พ. 2025
  • Una de las prácticas que no puede faltar en desarrolladores de videojuegos principiantes es Pong. En este video se sintetiza en (casi) 10 minutos, todo lo que se necesita para la creación de un Pong básico en Unity.
    Guía para principiantes en Unity:
    • Tu primer JUEGO en UNI...
    ARKANOID en 15 MINUTOS - Unity
    • ARKANOID en 15 MINUTOS...
    Instagram | / indierama.gamedev

ความคิดเห็น • 147

  • @Indierama
    @Indierama  ปีที่แล้ว +4

    CURSO de Unity y C# para principiantes (Febrero 2025):
    www.udemy.com/course/unity-y-c-fundamental-desarrollo-de-videojuegos-2d/?couponCode=INDIERAMA2025B
    Si REALMENTE querés apoyar al canal, asegurate de comprar con el link, sino Udemy se queda con la mayor parte de la venta.

  • @CataxisGameDev
    @CataxisGameDev 2 ปีที่แล้ว +13

    Este tipo de vídeos son súper necesarios y útiles, tengo muchas ganas de ver lo que se viene después. Acabando esta práctica pequeña sigo con el Flappy con buenas prácticas, amo sus vídeos!

    • @Indierama
      @Indierama  2 ปีที่แล้ว +3

      Muchísimas gracias Cataxis! Me alegro de que te estén gustando! Creo que vienen bien para repasar cuestiones básicas. Viniendo de otro creador de contenido, también escucho tus sugerencias de mejora y para próximos videos 🙌🙌

  • @artempest7137
    @artempest7137 10 หลายเดือนก่อน +3

    muchisimas gracias por el video gracias a esto podre hacer mi primer juego jugable en
    unity

  • @curiosidadesfeas4703
    @curiosidadesfeas4703 5 หลายเดือนก่อน +6

    Un saludo a Efren y a todo 3ro de IDDS que esta usando este tutorial para hacer su proyecto final de Programacion II

    • @Indierama
      @Indierama  5 หลายเดือนก่อน +2

      Saludos a Efren 😅 Que les vaya bien con el tuto!

  • @andresesquivel5460
    @andresesquivel5460 5 หลายเดือนก่อน +1

    Gracias por este videazo crack salvaste a todo el salon de IDDS de 3, saludos a Rod que esta exiliado en USA

    • @Indierama
      @Indierama  5 หลายเดือนก่อน

      😂😂

  • @rubelexia
    @rubelexia 2 ปีที่แล้ว

    el mejor video de unity en español que he visto hasta la fecha.

    • @Indierama
      @Indierama  2 ปีที่แล้ว +1

      😯😯 Gracias Ruben!

  • @El_papu_10
    @El_papu_10 9 หลายเดือนก่อน

    Muy buen vídeo, precisamente no necesitaba desarrollar el juego como tal, pero fuiste de gran ayuda para comprender las mecánicas que necesito para mí juego. Muchas gracias.

  • @giannimorrone696
    @giannimorrone696 11 หลายเดือนก่อน

    Muchas gracias por el video y el tutorial. Empecé varías veces a hacer un pong, siempre tuve algún drama. Estaría tremendo agregarle menú, pausa, que termine cuando alguien gane y sonido cuando pega la pelota. Así creo que sería un juego completo.

  • @luckzze
    @luckzze ปีที่แล้ว +1

    gracias idolo

  • @Elnokias
    @Elnokias ปีที่แล้ว +1

    8:04 me resolviste un bug de otro proyecto xd, gracias

  • @constantine6124
    @constantine6124 3 ปีที่แล้ว

    gran tutorial bro se agradece resto que compartas tus conocimientos con personas que recién vamos empezando sigue asi se agradece

  • @MrSir1464
    @MrSir1464 20 วันที่ผ่านมา +1

    En el script de la ball, cuando hago el GameManager.Instance.Paddle2Scored(); la consola me dice un error que dice que gamemanager no tiene definición y que el paddle2scored no es accesible. Alguna idea de cómo puedo solucionarlo??? Buen video por cierto

  • @danielcitalan8567
    @danielcitalan8567 2 ปีที่แล้ว +1

    Funcionaaaa Merece mi like :)

    • @Indierama
      @Indierama  2 ปีที่แล้ว +2

      Gracias Daniel! 💪💪

  • @mussn1674
    @mussn1674 2 ปีที่แล้ว

    Muchas gracias, muy buen tutorial, explicas bien y vas al grano, te lo agradezco!

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Muchas gracias!

  • @legna6954
    @legna6954 ปีที่แล้ว +2

    No se si es un error comun o como se soluciona pero cuando dejo alguna variable abierta con [SerializeField] y luego intento cambiar su valor desde el Script no me deja, por mas que lo modifique siempre en Unity muestra el valor inicial y no se guardan las modificaciones que se hace directamente en el codigo, no se como cambiarlo pq tampoco tiene sentido solo cambiarlo en Unity y dejar otro valor en el codigo, la idea seria que mantuvieran el mismo valor pero siempre me molesta eso

    • @brunogonzalez8490
      @brunogonzalez8490 ปีที่แล้ว +1

      Si no me equivoco, cuando se declara una variable publica o se serializa, Unity siempre toma el valor que esta en el inspector.
      Yo llevo 2 semanas como mucho metiendole, pero por lo general, las serializo y luego las hago privadas si se que van a quedar fijas, ya que tenerlas en el inspector ayuda a cambiarlas para testear mientras corre el juego únicamente (no estoy muy seguro). La única razón por las que las dejaría publicas es si las necesito utilizar desde otro lado

  • @grutta2015
    @grutta2015 ปีที่แล้ว

    Genial. Un poco rapido, pero bien explicado!. Gracias

    • @Indierama
      @Indierama  ปีที่แล้ว

      Gracias! Si, está super rápido por limitarme a hacerlo en 10 minutos (que no tiene mucho sentido). Debería haber sido en por lo menos 15.

  • @lucascortez5006
    @lucascortez5006 ปีที่แล้ว

    Lo pude hacer pero cuando la pelota no colisiona choca con alguna pared, es decir deberia contar como punto solo se sale de las paredes y sigue cayendo. Que deberia tocar para solucionarlo?

    • @Indierama
      @Indierama  ปีที่แล้ว

      Seguramente el nombre de tu tag y el del código no coinciden. Asegúrate que sean exactamente iguales (mayúsculas incluidas).

  • @jaimefernandezestevez117
    @jaimefernandezestevez117 6 หลายเดือนก่อน

    Genial tutorial. A mi se me genera una duda desde la inexperiencia absoluta y el desconcierto comenzando en Unity. ¿Qué tan grande es la batería mental de comandos y métodos de alguien que desarrolla videojuegos? ¿durante el desarrollo de un juego surgen dudas de si existe un método que acometa lo que deseas hacer pero no lo conoces?
    Trasladando el campo para comprenderlo, yo llevo muchos años usando AutoCAD y a veces unos dibujos o unas operaciones llevan muchos minutos de dibujar y recortar líneas y de una forma más sencilla, usando un método que es poco conocido, hace todo eso de golpe.
    Supongo que es cuestión de qué tan experto es uno en C#.

    • @Indierama
      @Indierama  6 หลายเดือนก่อน

      Mirá, yo uso Unity hace mas de 8 años y aun así hoy en día me sigo encontrando que hay métodos de componentes que no conocía. Las opciones son las siguientes:
      1- Te fumas toda la documentación, cosa que no recomiendo. De hecho, creo que podría llevarte años sin exagerar y probablemente no recuerdes mucho al final
      2- Mientras desarrollas tu juego, sobre la marcha te vas preguntando ¿Existirá algún método con el que pueda hacer x cosa más fácil? Te vas a encontrar que muchas cosas no las vas a tener que hacer por tu cuenta. También sirve mucho mirar tutoriales, hacer cursos y ver como los demás hacen las cosas (esto siempre consumiendo una cantidad de contenido saludable, evitando el tutorial hell)
      Todo esto sin contar el mundo de los paquetes, que eso si ya es infinito. Hay paquetes para facilitarte prácticamente todo. Aca si yo te diría que busques recomendaciones, chequees valoraciones, porque no hay forma de probarlos todos. Saludos!

  • @sprinctrackmiusic2901
    @sprinctrackmiusic2901 2 ปีที่แล้ว

    Pregunta cómo le ago para poder celecionar lo que vendía siendo bolll a goal 2 como lo selecciono

  • @felipecarp1983
    @felipecarp1983 ปีที่แล้ว

    Cuando empieza el juego los puntos siempre van a el jugador de la derecha aunque el jugador de la izquierda pierda porque puede ser que pase eso?

  • @artempest7137
    @artempest7137 10 หลายเดือนก่อน

    @Indierama Amigo estaba en el ultimo paso del video pero no me funciona eso de que suba la puntuacion o que la pelota vuelva a su posicion por favor me podrias ayudar?
    Edit: Me acabo de dar cuenta de que el launch tammpoco me sirve( me refiero a que aunque lo tenga en el otro script no me deja activarlo en el ultimo script) Si me pudieras ayudar te lo agradeceria muchisimo

  • @lolos201979
    @lolos201979 ปีที่แล้ว

    Hola gracias por el tutorial, lo he terminado ahora voy a por arkanoid! 😀

    • @Indierama
      @Indierama  ปีที่แล้ว

      El pong comparte unas cuantas cosas similares con el arkanoid, pero aún así vas a aprender varias cosas nuevas! Muchas gracias!

  • @CreepiestWeirdo
    @CreepiestWeirdo ปีที่แล้ว

    Hola, en el GM en los métodos del score, como puede hacerse para que no se repita el mismo código para cada player en dos métodos distintos, y hacer un método único que sirva para los dos? Puedo pasar como GameObject una relación entre cada player y su score?

  • @404kyrox7
    @404kyrox7 9 หลายเดือนก่อน

    me sale que el goal 2 no está definido. que hago?

  • @pablovergaraescoto5385
    @pablovergaraescoto5385 3 ปีที่แล้ว +1

    hola por que usas Vector3 en vez de Vector2 en el 3:15?

    • @Indierama
      @Indierama  3 ปีที่แล้ว +1

      Hola Pablo! Use un Vector3 porque como transform.position está representado por un Vector3, no se permite hacer una suma de un Vector2 con este Vector3 (intentalo y vas a ver que te da error, a menos que hagas un casteo a Vector3). Lo que sí se puede hacer es un seteo de la posición a partir de un Vector2, pero la suma de vectores de distintas dimensiones no te va a dejar. Saludos!

  • @juanpal.g5983
    @juanpal.g5983 2 ปีที่แล้ว +1

    Gracias, me sirvió

  • @engerfabriciodermerlatprre3673
    @engerfabriciodermerlatprre3673 3 ปีที่แล้ว +1

    Gran video, muy especifico, y podrias enseñar que son los singletons por favor

    • @Indierama
      @Indierama  3 ปีที่แล้ว +1

      Muchas gracias! Lo tengo en la lista de pendientes. Espero subir un video pronto sobre el tema. Saludos!

  • @Toroluminoss
    @Toroluminoss 2 ปีที่แล้ว

    Hola, consulta de ignorante, en el minuto 5:00 pusiste el limite de movimieto de las paletas, como hiciste a calcularlo?? osea el 3.75f

    • @Indierama
      @Indierama  2 ปีที่แล้ว +2

      Hola! El cálculo es fácil. El ancho total del estadio de pong es 9. Si lo dividis por 2 (la mitad del ancho) te queda que podrías subir o bajar la paleta una distancia de 4.5 desde el centro. Pero también tenes que considerar el ancho de la paleta. Deberías restar también la mitad de su ancho (sino traspasarías la pared con la mitad de la paleta) La paleta mide 1.5, por lo que su mitad mide 0.75. El cálculo final te queda:
      (9/2) - (1.5/2) = 4.5 - 0.75 = 3.75

    • @Toroluminoss
      @Toroluminoss 2 ปีที่แล้ว +1

      @@Indierama Muchas gracias!!!!

  • @DeePleetSamp
    @DeePleetSamp 2 ปีที่แล้ว +1

    Como te contacto alguna red social o discord?

  • @pablovergaraescoto5385
    @pablovergaraescoto5385 3 ปีที่แล้ว

    muy buen video, muy rápido y simple

  • @alvaroedilbertopulidosanch5151
    @alvaroedilbertopulidosanch5151 2 ปีที่แล้ว

    La pelota se mueve pero no rebota con las paredes ni las paletas, tiene el physics material bien y está en su rigidbody, cuando choca con una paleta deja de moverse....

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Hola Alvaro! Te aseguraste de crear un Physic Material 2D? Quizás creaste un Physic Material (sin el 2D)

  • @williemilio9453
    @williemilio9453 3 ปีที่แล้ว

    que buen tutarial ojala llegues a mucho :)

  • @tortuaproduction962
    @tortuaproduction962 3 ปีที่แล้ว

    Muy bueno y conciso el video!!!

    • @Indierama
      @Indierama  3 ปีที่แล้ว

      Muchas gracias tortu!

  • @nitrostarss
    @nitrostarss 2 ปีที่แล้ว +1

    No hace nada de lo de sumar puntuación y tampoco restart pero tampoco me sale ningún error en la consola

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Hola! Quizás estas usando OnTriggerEnter en lugar de OnTriggerEnter2D? Si no es eso necesito que me des mas detalles.

    • @nitrostarss
      @nitrostarss 2 ปีที่แล้ว

      @@Indierama no es eso lo he puesto bien y no sale ninguna alerta nose que puede ser

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Seteaste como trigger los colliders? Que es lo que le pasa a la pelota cuando toca el trigger? Pasa de largo? Claramente por alguna razón no se te están llamado las funciones de sumar puntaje y reseteo. Podrías poner un Debug.Log para confirmarlo. Y partiendo de ahí ya sabrias el lugar del problema.

    • @nitrostarss
      @nitrostarss 2 ปีที่แล้ว

      @@Indierama Se pasa de largo pero no sale ningún error ni alerta tengo este script como GameManager:
      using UnityEngine;
      using TMPro;
      public class GameManager : MonoBehaviour
      {
      [SerializeField] private TMP_Text paddle1ScoreText;
      [SerializeField] private TMP_Text paddle2ScoreText;
      [SerializeField] private Transform paddle1Transform;
      [SerializeField] private Transform paddle2Transform;
      [SerializeField] private Transform ballTransform;
      private int paddle1Score;
      private int paddle2Score;
      private static GameManager instance;
      public static GameManager Instance
      {
      get
      {
      if(instance == null)
      {
      instance = FindObjectOfType();
      }
      return instance;
      }
      }
      public void Paddle1Scored()
      {
      paddle1Score++;
      paddle1ScoreText.text = paddle1Score.ToString();
      }
      public void Paddle2Scored()
      {
      paddle2Score++;
      paddle2ScoreText.text = paddle2Score.ToString();
      }
      public void Restart()
      {
      paddle1Transform.position = new Vector2(paddle1Transform.position.x, 0);
      paddle2Transform.position = new Vector2(paddle2Transform.position.x, 0);
      ballTransform.position = new Vector2(0, 0);
      }
      }

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Los tags los tenés escritos tal cual con las mayúsculas donde van? (En ambos escena y código)

  • @williemilio9453
    @williemilio9453 3 ปีที่แล้ว +1

    Cuando activo lo de paddle 1 para que cada una se mueva me sale este error:ArgumentException: Input Axis vertical is not setup.
    To change the input settings use: Edit -> Settings -> Input
    Pala.Update () (at Assets/Scenes/Pala.cs:16) ayda :(

    • @Indierama
      @Indierama  3 ปีที่แล้ว +1

      Hola, proba con Vertical con la V en mayúscula. Saludos!

  • @Irzioc
    @Irzioc 3 ปีที่แล้ว

    Muchas gracias por los tutoriales! Sería genial que en un futuro pudieras crear un tutorial de como hacer un sistema de batalla estilo chrono trigger (por turnos).

    • @Indierama
      @Indierama  3 ปีที่แล้ว +3

      De a poco voy a ir subiendo mas tutoriales de todo lo que pueda ir cubriendo. El tema batalla por turnos está interesante para armar un video. Gracias por la sugerencia!

  • @carlosmercado8311
    @carlosmercado8311 3 ปีที่แล้ว

    Buenísimo man

    • @Indierama
      @Indierama  3 ปีที่แล้ว

      Muchas gracias Carlos!

  • @Xilupa
    @Xilupa 2 ปีที่แล้ว

    me da este error y no entiendo, revise todo y lo copie de nuevo pero no encontré el error.
    Assets\Ball.cs(37,34): error CS1061: 'GameManager' does not contain a definition for 'Paddle2Scored' and no accessible extension method 'Paddle2Scored' accepting a first argument of type 'GameManager' could be found (are you missing a using directive or an assembly reference?)

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Hola! el error dice que no tenés una definición para el método Paddle2Scored. Chequea si lo has escrito igual (tal cual con las mayúsculas donde van) en la definición como en la llamada.

  • @hannergutierrezpico4722
    @hannergutierrezpico4722 5 หลายเดือนก่อน

    buenas tardes en el GameManager el metodo Launch() me sale erroro: Assets\GameManager.cs(61,13): error CS0103: The name 'Launch' does not exist in the current context

    • @Indierama
      @Indierama  5 หลายเดือนก่อน

      Hola, quiere decir que no creaste un método con el nombre Launch, y, al llamarlo, obviamente no lo encuentra. Fijate que lo hayas nombrado exactamente Launch (con la L mayúscula)

    • @hannergutierrezpico4722
      @hannergutierrezpico4722 5 หลายเดือนก่อน

      @@Indierama si lo nombre asi pero en el script GameManager me sale subrayado de rojo y en el video no vi que hiciste un metodo launch, el metodo esta en el script ball

    • @hannergutierrezpico4722
      @hannergutierrezpico4722 5 หลายเดือนก่อน

      @@Indierama que le pongo en el metodo Launch, lo creo en el script de GameManager?

    • @Indierama
      @Indierama  5 หลายเดือนก่อน

      Perdon, no leí que lo declarante en el gamemanager. El método Launch no tiene nada que ver con el GameManager, no debería estar ahí. Asegurate de crearlo y llamarlo desde el script de la pelota. Lo estas llamando en el gamemanager

    • @hannergutierrezpico4722
      @hannergutierrezpico4722 5 หลายเดือนก่อน

      @@Indieramapero yo ya lo tengo declarado en el script ball, como lo hiciste en el video, pero a la hora de llamarlo en el game manager me sale en rojo, no se si sea que no lo esta llamando desde el script ball que es donde esta declarado segun tu video

  • @jhovala
    @jhovala 2 ปีที่แล้ว

    si lo repotencias online con photon fusion seria grandioso aprender eso

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      No prometo nada porque no trabajo mucho con Photon 😅. Pero, quien sabe, quizás mas adelante pueda intentarlo

  • @makako2468
    @makako2468 7 หลายเดือนก่อน

    la pelota no detecta las colisiones con las porterias, ayuda porfa

    • @Indierama
      @Indierama  7 หลายเดือนก่อน

      Hola, probablemente no coincidan los strings de los tags con los del código (tenés que escribirlos tal cual, respetando mayúsculas)

  • @CuriososSapiens
    @CuriososSapiens ปีที่แล้ว

    Hola gente, en mi código la bola no se mueve pero no me tira error de ningun tipo . si alguien sabe que puede ser se lo agradecería!!

  • @michaeldecena6812
    @michaeldecena6812 3 ปีที่แล้ว

    Muy buen video.
    Una pregunta, ¿hay alguna forma en la que pueda detectar cada vez que la bola rebota en una de las paletas?
    Mi idea es hacer que al momento en el que rebote con la paleta de algún jugador, esta gane una velocidad horizontal dependiendo de la velocidad de la paleta a la hora de chocarla. lo único que se me ocurre es hacerlo mediante un raycast.

    • @michaeldecena6812
      @michaeldecena6812 3 ปีที่แล้ว +1

      Nevermind, solo activé la fricción xD

    • @Indierama
      @Indierama  3 ปีที่แล้ว +1

      Lo de la fricción puede funcionar! Acordate que también podes acceder a la velocidad del Rigidbody. Podrías crear una referencia al Rigidbody de la paleta y chequear su velocidad en el momento que colisiona (supongo que la velocidad que te interesa es en el eje y). A partir de ahí, podrías modificar la velocidad de la pelota dependiendo cual fue la velocidad de la paleta.

  • @williamlema1976
    @williamlema1976 3 ปีที่แล้ว

    tengo un problema cuando ejecuto el juego la bola no se mueve ,no arranca.. que puedo tener mal?

    • @Indierama
      @Indierama  3 ปีที่แล้ว

      Hola William! Podría ser que:
      1- No le agregaste un Rigidbody2D a la bola (importante que sea 2D).
      2- Olvidaste agregarle el script a la bola.
      3- Quizás hay algún fallo en el momento en que le seteas la velocidad, aunque si lo seguís tal cual al video no debería fallar.
      Si nada de esto sirve, copiame tu código y el mensaje de error. Saludos!

    • @williamlema1976
      @williamlema1976 3 ปีที่แล้ว

      @@Indierama lo arregle man rigidbody era

  • @luck8762
    @luck8762 3 ปีที่แล้ว

    me imagino que el pong sería muy divertido en un telefono donde cada uno mueve su paleta con el tacto. es muy dificil reemplazar el movimiento vertical de cada jugador por un tipo de control touch de dos contactos?

    • @Indierama
      @Indierama  3 ปีที่แล้ว +1

      Hola Lukas! No sería algo muy difícil de hacer. El tema de desarrollo para Android es algo que tengo pendiente en el canal. Seguramente este subiendo algo sobre el tema más adelante.

    • @luck8762
      @luck8762 3 ปีที่แล้ว +1

      @@Indierama buenaaa! Esperaré entonces jajaja gracias por tus vídeos y tú respuesta

  • @TobalNx4.7
    @TobalNx4.7 2 ปีที่แล้ว

    Dudo que me contestes pero una pregunta cómo haces pa seleccionar todo de una, por ejemplo desde ball a Goal2?

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Hola Nacho, yo contesto muy buena parte de los comentarios que me dejan, no se por que asumis eso. La selección se hace manteniendo shift al seleccionar el segundo objeto.

    • @daxtermaster6793
      @daxtermaster6793 ปีที่แล้ว

      Valió la pena la pregunta jaja

  • @javiersanchezdelgado5149
    @javiersanchezdelgado5149 2 ปีที่แล้ว

    Hola como pongo sonido

  • @Cristian_2510
    @Cristian_2510 3 ปีที่แล้ว

    hola de nuevo, cuando coloco el Paddle1ScoreText al gamemanager no me deja colocarlo

    • @Indierama
      @Indierama  3 ปีที่แล้ว

      Hola! Cuando no te deja colocarlo en el espacio del inspector es que los tipos de datos no coinciden. Probablemente lo que estas arrastrando no es un texto.

    • @Cristian_2510
      @Cristian_2510 3 ปีที่แล้ว

      @@Indierama esta todo bien

  • @sergiofabian1500
    @sergiofabian1500 2 ปีที่แล้ว

    como programo si quiero jugar contra la CPU ,podrías explicar como le puedo hacer el codigo a la computadora para que me conteste como si fuera el player 2 por favor

    • @DANIELALEJANDROROMERONAVARRO
      @DANIELALEJANDROROMERONAVARRO 10 หลายเดือนก่อน

      Lo que puedes hacer es entregarle la posocion en Y de la pelota y para que paresca que es justo el juego puedes hacer que como que se tarde en moverse la paleta del oponete y si quieres que sea dificil reduses ese retraso y haces que simepre esta a la par la paleta con la posocopn en Y de la pelota, con eso es casi imposible ganarle a la maquina

  • @Cristian_2510
    @Cristian_2510 3 ปีที่แล้ว

    Hola! Tengo un problema cuando cambio lo de los controles osea lo del vertical los cambio todo bien y no me funciona

    • @Indierama
      @Indierama  3 ปีที่แล้ว

      Hola! Te aseguraste de escribirlo en el código tal cual a los nombres de los ejes (incluyendo mayúsculas)? Si no es eso, copiame tu código y el error que aparece en tu consola.

    • @Cristian_2510
      @Cristian_2510 3 ปีที่แล้ว

      @@Indierama copie el código igual ahorita te lo paso

    • @Cristian_2510
      @Cristian_2510 3 ปีที่แล้ว

      @@Indierama no me aparece nada en la consola pero aqui esta el codigo
      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      public class Paddle : MonoBehaviour
      {
      public float speed = 7f;
      private bool isPaddle1;
      private float yBound = 3.75f;
      void Update()
      {
      float movement;
      if(isPaddle1)
      {
      movement = Input.GetAxisRaw("Vertical");
      }
      else
      {
      movement = Input.GetAxisRaw("Vertical2");
      }
      Vector2 paddlePosition = transform.position;
      paddlePosition.y = Mathf.Clamp(paddlePosition.y + movement * speed * Time.deltaTime, -yBound, yBound);
      transform.position = paddlePosition; }
      }

    • @Indierama
      @Indierama  3 ปีที่แล้ว

      @@Cristian_2510 No le diste el atributo [SerializeField] al booleano isPaddle1. Por lo tanto, tampoco seteaste su valor a verdadero en el inspector para la paleta 1. Chequea bien exactamente lo que hago en esa parte. Saludos! ✨

    • @Cristian_2510
      @Cristian_2510 3 ปีที่แล้ว

      @@Indierama Gracias y tengo un problema con la Licencia de y no puedo entrar a mis proyectos

  • @rashelbenavides1619
    @rashelbenavides1619 2 ปีที่แล้ว +1

    Hola, excelente video! Estoy teniendo problemas para hacer funcionar el marcador ¿me podrías ayudar? la consola lanza este error "NullReferenceException: Object reference not set to an instance of an object
    GameManager.Paddle1Scored () (at Assets/GameManager.cs:33)
    Ball.OnTriggerEnter2D (UnityEngine.Collider2D collision) (at Assets/Ball.cs:42)"
    Volví a ver el tutorial un par de veces y a escribir el código donde explicas lo del marcador, de antemano gracias!

    • @arturogranados2138
      @arturogranados2138 2 ปีที่แล้ว

      al parecer no le has asignado el objeto de texto desde el inspector

  • @alzavala5981
    @alzavala5981 2 ปีที่แล้ว

    hola, estoy comenzando y tengo un problema, espero que alguien pueda ayudarme. ¿Sucede que los scripts nunca me permiten modificar variables desde el inspector a pesar de usar SerializeField, por ejemplo Speed y IsPaddle1. de manera que por mas input que hago, no se mueve las palatas??????

    • @evelynhidalgo9018
      @evelynhidalgo9018 2 ปีที่แล้ว

      oye solo mira si lo escribes bien con las mayusculas y minusculas, mira si tienes errores en la consola, omira si nolo guardaste asta aqui te puedo ayudar

  • @williemilio9453
    @williemilio9453 3 ปีที่แล้ว

    perdon por molestar tanto :( pero lo que haces en el min 9:33 cuando pongo paddle1score o paddle2score me sale este error No se puede asignar a 'variable' porque es un 'tipo de variable de solo lectura' perdon por molestar xd

    • @Indierama
      @Indierama  3 ปีที่แล้ว

      Si definiste las variables como yo lo hice (private int paddle1Score;) entonces no son de solo lectura y debería dejarte sumarle 1. ¿Quizás el autocompletado te agregó readonly donde la definiste?. Intenta chequear que todo este exactamente escrito como en el tutorial.

  • @hectorhugocortesa.456
    @hectorhugocortesa.456 3 ปีที่แล้ว

    Genial, pero tengo un problema, en el marcador me aparece que no se encuentra el GameManager

    • @Indierama
      @Indierama  3 ปีที่แล้ว

      Hola Héctor!, ¿al script lo nombraste GameManager (exactamente así, con la G y la M mayúsculas)?. Si no es así renombralo tal cual como te dije (al archivo y a la clase). Fijate también de cuando haces la llamada a FindObjectOfType de escribirlo correctamente. Si el error es otro, copiame que dice exactamente la consola.

    • @hectorhugocortesa.456
      @hectorhugocortesa.456 3 ปีที่แล้ว +1

      @@Indierama de acuerdo, lo c hecare, gracias!!

  • @Brunales58
    @Brunales58 3 ปีที่แล้ว

    no me detecta ningun tag, me da este error en consola "Script error: OnTriggerEnter2D
    This message parameter has to be of type: Collider2D"

    • @Indierama
      @Indierama  3 ปีที่แล้ว

      Hola! Te aseguraste de agregar componentes BoxCollider2D? (Importante el 2D).

    • @Brunales58
      @Brunales58 3 ปีที่แล้ว

      @@Indierama lo acabo de revisar y son todos 2D, lo que no me funciona es el contador de goles, le pongo un debugLog dentro de onCollisionEnter2D con las porterias y no me salta el mensaje, tampoco con los paddle. Tengo puestos los tag, y seguí tu codigo al pie de la letra. No se que puede estar fallando.

    • @Brunales58
      @Brunales58 3 ปีที่แล้ว

      Lo arreglé, soy un boludo. Me confundí entre onTriggerEnter y onCollisionEnter, llevaba facil 3h buscando que podía estar fallando. Por lo menos ahora se la diferencia de sobra. Gracias por tu atención.

    • @Indierama
      @Indierama  3 ปีที่แล้ว +1

      Perdon, acabo de leer esto. Me alegro que lo hayas arreglado y mejor aún que te haya servido para entender la diferencia! 😎

    • @lucascortez5006
      @lucascortez5006 ปีที่แล้ว

      @@Brunales58 hola bro como hiciste, no me sale ningun error y no la pelota no marca el puntaje, se sale de las paredes ;(

  • @jurtinfrank
    @jurtinfrank 3 ปีที่แล้ว

    ¿como podría hacer para cuando un jugador llego a tanto de puntos se acabe el juego?

    • @Indierama
      @Indierama  3 ปีที่แล้ว

      Podrías agregar un texto ("Gana jugador X") inicialmente desactivado, y con un condicional detectar cuando el puntaje de un jugador supera cierto valor. En ese momento activarias el texto para mostrar en pantalla el jugador ganador.

  • @xavi7827
    @xavi7827 3 ปีที่แล้ว

    Bro cuando hago la parte de paddlePosition.y = Mathf.Clamp(paddlePosition.y + movement * speed * Time.deltatime, -yBound, yBound);
    transform.position = paddlePosition; Me sale Time does not contain a definition for deltatime Help porfavor

    • @Indierama
      @Indierama  3 ปีที่แล้ว

      Buenas!, chequea bien las mayúsculas, es deltaTime. Saludos!

    • @xavi7827
      @xavi7827 3 ปีที่แล้ว

      @@Indierama Sos un kpo te amo pa

  • @Sebastian-kf6sp
    @Sebastian-kf6sp 3 ปีที่แล้ว

    Crack

  • @bakiscito
    @bakiscito ปีที่แล้ว

    Love You

  • @JWilfridoCS
    @JWilfridoCS ปีที่แล้ว

    me pasa algo raro el == me lo marca como un error

    • @Indierama
      @Indierama  ปีที่แล้ว

      Hola, copia el código y el error acá

  • @davidsaez-bravozalve6792
    @davidsaez-bravozalve6792 2 ปีที่แล้ว

    GARCIAS

  • @williemilio9453
    @williemilio9453 3 ปีที่แล้ว

    vale literalmente este es el ultimo, ya lo hice todo y caundo lo pruebo al meter un punto sale el 1 en el marcador pero al instante de meterlo se me sale y me sale: goal1 is not definied y al meterme en visual no me sale ningun error y esta tal cual el tutorial.Te juro que no digo nada mas y le doy like a todos tus videos jaja ayuda xd

    • @Indierama
      @Indierama  3 ปีที่แล้ว

      ¿Creaste el tag llamándolo Goal1 (con G mayúscula? Checa eso. Y también en el script en CompareTag tenes que escribirlo de la misma forma.

  • @xavi7827
    @xavi7827 3 ปีที่แล้ว +2

    Oe bro otra cosa y ya dejo de molestar xdddd, No me sale la opcion UI para crear el textMeshPro help xd

    • @Indierama
      @Indierama  3 ปีที่แล้ว

      Quizás tenes alguna versión más antigua de Unity. De todas formas podes buscar en Window, Package Manager, en el desplegable selecciona Unity registry y ahi busca textmeshpro e importalo.

    • @xavi7827
      @xavi7827 3 ปีที่แล้ว

      @@Indierama Bro me sale que ya lo tengo instalado :(, puedo cambiar de version sin tener que borrar todo el projecto de nuevo?

    • @Indierama
      @Indierama  3 ปีที่แล้ว

      A partir de versiones de 2018 en adelante debería salirte automáticamente. Para un proyecto tan pequeño como este no te recomiendo el cambio de versión.

    • @xavi7827
      @xavi7827 3 ปีที่แล้ว

      @@Indierama Lo siento por tardar en responde, ya lo consegui solucionar gracias xdd, porcierto, me voy a ver todos los tutoriales que tienes, me parecen muy interestantes

    • @Indierama
      @Indierama  3 ปีที่แล้ว

      Si sos nuevo con Unity, tengo una lista de unos 11 videos para principiantes, te va a ir de lujo. Muchas gracias por el apoyo!

  • @ngry-k7381
    @ngry-k7381 3 ปีที่แล้ว

    Voy a intentar hacerlo por mi cuenta, cuando lo logre, vuelvo aqui :v

    • @Indierama
      @Indierama  3 ปีที่แล้ว

      Me parece muy buena forma de aprender! Acordate siempre que por caminos distintos se puede llegar a mismos o similares resultados, así que no te preocupes si haces algo muy distinto a lo que hago yo. La idea es que aprendas y hagas esto como un ejercicio. Saludos!

  • @isaacrodriguezholguin126
    @isaacrodriguezholguin126 2 ปีที่แล้ว

    alguien pasa code

  • @mr.dizmos6681
    @mr.dizmos6681 2 ปีที่แล้ว

    Hola, el video está genial pero con el Paddle2Scored me da un error y no sé cómo solucionarlo ni modo está el error

  • @jacsdev
    @jacsdev 3 ปีที่แล้ว

    Amigo muchas gracias por compartir tu conocimiento. Gracias a ti he estado aprendiendo unity de una forma bien práctica. Acá está el ejercicio de este video th-cam.com/video/PkclMO7XRIs/w-d-xo.html
    Nuevamente gracias por compartir el conocimiento

    • @Indierama
      @Indierama  3 ปีที่แล้ว +1

      Ohhh Genial! Está buenísimo que vayan compartiendo como les queda su proyecto. Más si le agregan algunas cositas como el tuyo. Muchísimas gracias por tu video!

    • @jacsdev
      @jacsdev 3 ปีที่แล้ว +1

      @@Indierama un honor que me comentes! Saludos brother