Disparar un objeto desde otro en Scratch [Minitutorial]

Introducción

En este minitutorial aprenderás cómo hacer que un objeto lance a otro. Esto nos sirve para hacer balas en cualquier juego por ejemplo.

Deberías saber

Objetivos

  • Aprender a crear un objeto que sea lanzado desde otro.

Objetos

Necesitaremos dos objetos. Uno el lanzador y otro el lanzado. En el ejemplo el lanzador es el mono, y el lanzado las bananas.

El programa del lanzador no tiene ningún misterio. Como mucho podemos hacer que cambie de disfraz cuando pulsemos la tecla espacio que será con la que dispararemos.

La bala

La secuencia de órdenes será la siguiente:

  1. Ir a la posición del objeto lanzador.
  2. Apuntar hacia donde vayamos a lanzar (en mi caso al puntero del ratón).
  3. Mostrar la bala.
  4. Moverse hasta que toque el borde (o un objeto).
  5. Finalmente borrar la bala.

Lanzar la bala en la dirección del lanzador

Si en vez de apuntar al puntero del ratón queremos que la bala salga lanzada en la dirección del objeto lanzador podemos usar el sensor que nos ofrece esta dirección.

Puedes incluir esta utilidad a tu juego de plataformas.

Realiza un juego en el que debas disparar y tocar otros objetos con el objeto lanzado.

Pon un límite de balas, para no poder lanzar infinitas. También puedes hacer que haya que recargarlas cada cierto número de disparos.

No olvides compartir con nosotros tus creaciones. También puedes encontrar más bananas siguiéndonos en BananaCoders en la comunidad de Scratch o en nuestro Twitter @BananaCoders.

4 comentarios en “Disparar un objeto desde otro en Scratch [Minitutorial]

    • Alfonso Sanz

      Hola.
      Con una variable puedes contar el número de balas que te quedan. Por ejemplo, fijarla a 6, y cada vez que disparas cambiar la variable por menos 1. Por supuesto, antes de disparar tendrías que poner una condición que permitiera hacer el código de disparo solo si la variable balas es mayor que 0.
      Un saludo,
      @alfonsosanzme

  • sai

    TEngo un problema, y es que o quiero hacer que mi personaje (pongamosle objeto 1) le dispare a su enemigo (vamos a decirle objeto 2) y que cuando la bala toque al enemigo desaparezca., asi que hago la programación que dice aqui, solo que ademas de agregarle que desaparezca al tocar un borde, tambie agrego que des aparezca al toocar al objeto dos, pero no funciona, osea la bala pasa de largo, y eso tambien dificulta en que la bala no daña al enemigo, ya que lo progame para que cuand la bala toque al enemigo, al enemigo se le reste uno de vida (en las variables) pero pasa que, simplemente no lo detecta, osea, no se le resta el numero y los enemigos son practicamente inmortales

    • Alfonso Sanz

      La cuestión es: ¿Cómo has programado esa detección?, hay muchas formas.
      Por ejemplo, añadir a la condición «si» el operado «o», e incluir ahí el sensor que detecte al enemigo (bien o bien .
      Si puedes poner un enlace al proyecto, te lo reviso.

Deja un comentario