Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: ¿Como puedo poner un Power Up de doble disparo?  (Leído 290 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Fabriyin

en: Enero 13, 2020, 04:07:32 am
Tengo un juego que es como space invaders pero es JcJ y he puesto una bola que si la rompes a base de disparos se supone que en vez de disparar solo una bala disparas 2 a la vez (una al lado de la otra) y no sé como hacerlo

intenté asignar varias variables empezando con 2 (Una que se redujera cuando la bala del 1er jugador chocara y que cuando llegará a 0 le diera el PowerUp y otra que hicera lo mismo pero para el 2do jugador) luego puse otra variable que cuando la vida del bonus llegara a 0 (dependiendo de que bala de cual jugador la destruyera) este valor fuera 1 entonces puse esto:
 #region //Disparo

if (keyboard_check_pressed(vk_up) and BJ1 = 0)  instance_create_layer(x , y - 70 , layer , obj_Bala1);

if (keyboard_check_pressed(vk_up) and BJ1 = 1)
{
    instance_create_layer(x - 20 , y - 70 , layer , obj_Bala1);
   
    instance_create_layer(x + 20 , y - 70 , layer , obj_Bala1);
}

#endregion

entonces cuando destruyo el bonus , no pasa nada y dispara normal , no tengo idea de por qué no pasó nada

Atentamente: (y con cariño)

Fabricio Franco Francisco Frank Rodrigo Alejandro Alex Cirilo Oliver Oliva López
 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado BssString

Respuesta #1 en: Enero 14, 2020, 03:20:05 am
Hola Fabriyin

Pienso que tu error es que estás asignando la variable BJ1 al objeto incorrecto, debes cambiar la variable en el player 1 o en el player 2 según quién destruyó el Power Up.

Para saber si la Bola del Power Up la rompió el Jugador 1 o el Jugador 2, de alguna forma la Bala tiene que tener una variable para saber qué objeto la creó.
Si no sabes como asignar variables a otros objetos, una forma más sencilla de comprender pero menos óptima de lograr lo que quieres es usando 2 objetos diferentes, un objeto "bala1" para reconocer la bala creada por el player1 y un objeto "bala2" para reconocer la bala creada por el player2.

Cuando destruyes la Bola (supongo que lo haces en un evento colisión), si la bola fue destruida por la bala del player 1, usa este código:
Código: [Seleccionar]
with obj_player1 BJ1 = 1Reemplaza "obj_player1" por el nombre que le hayas dado al objeto del player 1
Si la bala fue destruida por el player 2, entonces mencionas el objeto del player 2.

Eso debería activar correctamente la variable "BJ1" en el player para que haga el doble disparo.

Saludos