Mostrar Mensajes

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

Mensajes - xStarLordx

1
Juegos en desarrollo / Random Platform(Provicional)
Junio 10, 2020, 05:32:14 AM


Random Platform(Provicional)


Plataformas


GM: Studio

Estuve probando diferentes formas de generacion de niveles aleatorios, hasta que di con la forma de hacerlo. No es muy ortodoxo(creo que se escribe asi :-[)  pero funciona.
Les dejo una demo para que me digan como esta.







https://gamejolt.com/games/random-platform/505221

2
Hola Gmes, en vez de usar mp_potential_step, puedes usar las funciones lengthdir_x y lengthdir_y para mover los enemigos hacia donde quieras. En el ejemplo abajo los enemigos seguiran al jugador a una velocidad de 4 pixeles por step.

[gml]
hsp = lengthdir_x(4, point_direction(obPlayer.x,obPlayer.y));
vsp = lengthdir_y(4, point_direction(obPlayer.x, obPlayer.y));

x += hsp;
y += vsp;
[/gml]
Las variables hsp y vsp las puedes sustituir por las variables que uses para calcular la velocidad.
3
Preguntas y respuestas / Re:mi personaje se mueve solo
Febrero 24, 2020, 07:07:59 PM
Hola Crashed_ yo vi esos tutoriales hace ya algun tiempo y el error que tienes esta en el scipt aproach que no lo pusiste en tu comentario.
Ese script debe ser asi:
[gml]///Script Aproach
if (argument0 < argument1)
   return min(argument0 + argument2, argument1);
else
   return max(argument0 - argument2, argument1);[/gml]
4
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
[gml]///variables
//movimiento
yy = 0;
spd = 0;

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

Evento step:
[gml]///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;
    }
}
[/gml]

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

OBJPOWERUP:
Evento step:
[gml]///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.
  */
}[/gml]

OBJBALA:
evento create:
[gml]hspeed = 8;[/gml]

PD: Espero que ahora si te pueda ayudar. Saludos xStarLordx
5
Soy bastante malo explicando las cosas :-[, por eso te dejo un mini proyecto con un ejemplo basico de como cambiar el tipo de disparo.
Espero que entiendas.
6
Hola Arcadian, la verdad a mi nunca me a pasado eso debe ser un bug del GM porque esta bien raro eso  ;D
7
Preguntas y respuestas / Re:Alarmas
Enero 08, 2020, 10:30:36 PM
Hola, ante todo quiero aclarar que las alarmas no son cronometros son temporisadores, o sea , debes darle un valor y ese valor son los steps que tarda en activarse el codigo que tengas dentro del evento de alarma, no se si me entiendes. Abajo te dejo un mini proyecti para que veas como funciona sin necesidad usar alarmas.

PD: Te suguiero que veas tutoriales de monty drake en youtube es uno de los mejores que e visto y es en español
8
CitarEste código tiene sus desventajas:
1. Funciona solo si el objeto plataforma móvil, se mueve por causa de su hspeed. Osea va a funcionar si estas moviendo la plataforma movil con la variable hspeed de esta.
A juzgar por el codigo que nos dio supongo que calcula la velocidad horizontal sumandole puntos a x por lo tanto y con el permiso de dixon XD seria asi.

[gml]
if(distance_to_object(objeto_plataforma)<5)
{
objeto_especifico=instance_nearest(x,y+5,objeto_plataforma)
if(y<objeto_especifico.y)
{
x+=objeto_especifico.x //hice el cambio aqui
}
}[/gml]
PD: Si no lo usas asi solo debes poner el nombre de la variable que usas para la velocidad horizontal despues del punto
9
Trata usando este codigo
[gml]if (place_meeting(x, y + sign(y), objPlataforma) && !place_meeting(x, y, objPlataforma) && (y >= 0))
  {
    y += 0;
    break;
  }else if (!place_meeting(x,y + sign(y)))
{
  y += 5
}

[/gml]

PD: No es necesario que pongas y=y+5 , solo debes poner y += 5. Saludos
10
Tambien puedes hacer algo asi y no te va a hacer falta la variable:
[gml]//esto va en el evento create
image_speed = 0; [/gml]

[gml]//esto va en el evento step
if (place_meeting(x,y,objBala) && image_index <= 3 )
{
  image_index++;
}
else if (image_index >=3)
{
  instance_destroy();
//aqui pones el codigo que tienes de la explosion y todo eso
}[/gml]

Espero que ayude. Saludos
11
Preguntas y respuestas / Re:ayuda con saltosxdd
Enero 05, 2020, 02:45:05 AM
Cita de: pigi en Diciembre 31, 2019, 09:47:15 AM
hola, estaba haciendo un juego de plataformas y al colisionar con un bloque y saltar se queda atrapado en el aire xd

alguien me ayuda por favor

if keyboard_check(ord( "D")) and place_free(x+2,y)

{
x += v   
image_xscale = 2
image_speed = 0.8
sprite_index = spr_player
}

if keyboard_check(ord("A")) and place_free(x-2,y)

{
x -= v
image_xscale =-2
image_speed = 0.8
sprite_index = spr_player

}
Una pregunta ¿porque la variable image_xscale la tienes a 2 y -2?Asi el sprite se ve mas ancho de lo que es y a menos que quieras que un sprite cuadrado se vea como un rectangulo deberias ponerlo a 1 y -1.
En cuanto a las coliciones deberias poner el codigo que usas para las coliciones no el de movimiento. Saludos
12
Preguntas y respuestas / Re:AtaqueCuerpoaCuerpo
Diciembre 26, 2019, 07:28:32 PM
Aca te dejo un game basico para que veas como funciona un ataque cuerpo a cuerpo.Saludos
13
Preguntas y respuestas / Re:Ayuda con caja de texto
Septiembre 23, 2019, 05:10:55 AM
Buenas noches. Dependiendo de la manera que uses para los textos debe haber alguna forma de restringir la cantidad que se usa y asi evitar que sobrepase el limite y por tanto no se salga de la consola
14
Preguntas y respuestas / Re:Ayuda Juego RPG por turnos
Septiembre 23, 2019, 01:22:39 AM
Muchas gracias a 3dgeminis y Black_Cat por ayudarme con el RPG. E estado probando diferentes metodos hasta que llegue a el que use ahora. Muchas gracias de nuevo , ahora solo le anadire unas cuantas cosas mas como una contador de vida , que el enemigo pueda atacar y esas cosa.
15
Preguntas y respuestas / Re:Ayuda Juego RPG por turnos
Septiembre 21, 2019, 03:25:55 AM
Lo tengo  asi:

///Ataque
switch (strState)
{
case "fight":
//El jugador camina
  numVX = 3;
  sprite_index = sprTomWalk;
 

// cuando coliciona con el enemigo se detiene y cambia a la animacion de ataque
if place_meeting(x+12,y,objEnemigo)
{numVX = 0

  sprite_index = sprTomAtack;
   }
//detectar cuando termina la animacion cambiar a esta back
if image_index = image_number -1{strState = "back"}
  break;
 
  case "back":
   //caminar hacia atras
    numVX = -3;
    sprite_index = sprTomWalk;   
    //cuaando choca con el objBlock se detiene y cambia a estado idle
    if place_meeting(x-5,y,objBlock)
    {numVX = 0
     strState = "idle";
     break;
}
}

cuando el jugador coliciona con el enemigo cambia a la animacion de ataque pero por alguna razon la animacion se repite  un monton de veces en vez de cambiar al estado back