Noticias

¡Ayuda a la Comunidad GM, haz una donación!

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!.

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Fabriyin

Páginas: 1
1
Preguntas y respuestas / Re:Dos renglones
« en: Junio 11, 2020, 09:25:49 am »
1.- ya intentaste el salto de línea?
2.- utilizar una fuente monoespaciada?
3.- si aún sigues con la idea de 2 variable te recomiendo un Array mejor.


https://www.youtube.com/channel/UC8QOfYit7o0YuQ5nuO7f_-Q
Los siguientes usuarios dieron las gracias a este tema: Fabriyin

2
Yo no tengo el GMS 2 pero te voy a dejar el codigo del GMS1 y tu le cambias las funciones obsoletas.
Nesecitas al menos 3 objetos objPlayer, objBala y objPowerUp
OBJPLAYER:
Evento create
///variables
//movimiento
yy = 0;
spd = 0;

//Variable para controlar el tipo de bala que vamos a disparar
bulletState = "normal";

Evento step:
///Movimiento
var kDown, kUp;

kDown = keyboard_check(vk_down);
kUp   = -keyboard_check(vk_up);

spd = kDown + kUp;

//Velocidad
if (spd != 0) yscale = spd;
yy = spd * 3;

y += yy;

///Control de Disparo
if (keyboard_check_pressed(ord("S")))  //Si presionamos la tecla S
{
  switch(bulletState)  //disparamos en funcion de la variable bulletState
    {
      case "normal":   //si bulletState = "normal"
        instance_create(x+16, y, objBala); //disparamos una sola bala
      break;
     
      case "doble":   //si bulletState = "doble"
        instance_create(x+16, y-10, objBala)  //disparamos
        instance_create(x+16, y+10, objBala)  //dos balas
      break;
    }
}

Evento alarma 0:
///Cambiar el tipo de disparo
bulletState = "normal";

OBJPOWERUP:
Evento step:
///Control

if (place_meeting(x,y,objBala))
{
  instance_destroy(); //destruirse
  with(other)instance_destroy(); //destruir el objeto que coliciono con el
  objPlayer.bulletState = "doble";
  objPlayer.alarm[0]  = 150
  /*
 150 steps son 5 segundos lo puse asi para ver el cambio sin
 tener que esperar 30 segundos. Si quieres saber cuantos steps
 son X segundos solo multiplica 30 por la cantidad de segundos
 que quieras.
 */
}

OBJBALA:
evento create:
hspeed = 8;

PD: Espero que ahora si te pueda ayudar. Saludos xStarLordx
Los siguientes usuarios dieron las gracias a este tema: Fabriyin

3
Como diría nuestro colega Sobako: "te respondiste solo xd "

y bueno basicamente, tenés que gatillar una alarma en el evento destroy del objeto bola. Podrías poner la alarma en el jugador, indicando con una variable , llamemosle "doble_disparo" que al acabar el tiempo se haga false.
Basicamente, en el objeto bola, al momento de destruirse seteas "doble_disparo" del objeto player en true y calculás los 30 segundos dentro del player para setearla a false.
Ya dependiendo del valor hacés que e ljugador pueda hacer 2 tiros, imagino que con una variable de contador o algo del estilo.
Los siguientes usuarios dieron las gracias a este tema: Fabriyin

4
si solo es algo de presentacion y fondo, puedes usar time_lines y agregar a cada tiempo movimientos, disparos, etc...
para escoger colores aleatorios o naves usa:  choose(color1,color2,color3 etc...)
metelo en una variable y listo algo asi
pintura=choose(c_black,c_blue,c_red);
nave=choose(objNave1,objNave2,objNave3,etc...)

y en una alarm
repeat(5) {instance_create(random(room_width),random(room_height),nave); with(nave) {image_blend(pintura); }}
algo asi... solo pulelo
Los siguientes usuarios dieron las gracias a este tema: Fabriyin

5
Podrías poner que si la variable está en cero tenga el sprite normal pero cuando la variable esté en uno osea
If variable== 1 image_index = 1

Entonces si tienes un Sprite con diferentes frames y pones que el frame inicial sea el 0 que es la primera imagen osea tu player y que si se la variable cbia de valor con el ejemplo anterior que te di le pones el image_index que cambia el frame o su imagen del Sprite entonces tienes todos los sprites en uno mismo.

Se entendió? :-[
Los siguientes usuarios dieron las gracias a este tema: Fabriyin

6
Preguntas y respuestas / Re:¿como puedo poner texto en una room?
« en: Diciembre 30, 2019, 07:06:10 pm »
Hola, Fabrilyin. Gusto en saludarlo, mi nombre es Dixon.


No existe algo llamado texto, pero si existe el draw_text(x,y,string). Con esta función puedes agregar texto en cualquier parte de la room. El siguiente código que te voy a dar lo debes colocar en un evento dibujo también llamado draw, dentro de una pieza de código.

Código: [Seleccionar]
///texto
dx=0
dy=0

texto="Veces eliminado: "+string(score)
draw_text(dx,dy,texto)

Las variables dx y dx indicarán la posición donde quieras que aparezca el texto. Pero va a depender de la variable score en este caso, por lo tanto cada vez que una bala del jugador toque al enemigo tienes que sumarle un punto a la variable score así.

Código: [Seleccionar]
score+=1
Los siguientes usuarios dieron las gracias a este tema: Fabriyin

Páginas: 1