Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

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 - T789

Páginas: 1 2 3 ... 12
1
Si solo tienes 2 subimagenes, lo mas acortado solo seria darle el valor del place_meeting
image_index = place_meeting(x, y, objeto);

2
Preguntas y respuestas / Re:duda sobre los sistemas de particulas
« en: Septiembre 20, 2020, 04:56:25 am »
Saludos 8 bits

¿Para que sirven las particulas? Bueno... Puede haber un monton de cosas que hacer con las particulas (las posibilidades pueden ser ilimitadas, creo  ;)). Los particulas pueden ser como objetos normales (puedes aplicarles velocidades, manejar los alpha, manejar los colores, darles direcciones etc), con la pequeña diferencia de que puedes variarles los comportamientos para hacer que se vean bonitas.

Existen muchas cosas para las que servirian las particulas; por ejemplo:
-Hacer que en una nave cada vez que te muevas, cree un vapor que se desaparezca
-Hacer particulas tipo estrellas fugases, que se mezclen con varios colores a la vez
-Hacer un efecto fantasma tipo Alucard (Castlevania)
-Crear lluvia que caiga en toda la room
-Hacer rayones de ruedas de un auto al frenar y que se desaparezcan

Las posibilidades pueden ser tantas como tu quieras. Claro que tambien podrias hacerlo con objetos propios, pero el sistema de particulas esta un poco mas adaptado para hacer particulas tan eficientes. Te recomiendo que veas videos en youtube de ejemplos de particula en GameMaker, puede que encuentres bastantes efectos de particulas

3
Preguntas y respuestas / Re:Extension o DLL para usar archivos Flash(.swf)
« en: Septiembre 18, 2020, 01:28:32 am »
Se de los archivos .svg, pero pregunto porque me parece mas facil cargar .swf y tambien porque creo que hay mas posibilidad de que hayan extensiones para archivos flash. No me acuerdo muy bien pero cuando me encontraba iniciado en GameMaker, y apenas sabia de las extensiones; creo haber visto una extension para archivos flash... Desafortunadamente no me acuerdo del nombre (esa vez fue hace 2 años, y no le preste tanta atencion porque, no sabia de que me iba a servir en ese entonces)

Ahora. Podria reconsiderar lo de usar archivos .svg, pero todavia sigo esperando esa extension (primero urge practicar con los .swf)

... Y lo de montarme toda una pizarra de operaciones en el evento draw; no crea que quiera hacerlo  :-\. Es totalmente irrelevante si existen los vectores  ;)

4
Preguntas y respuestas / Extension o DLL para usar archivos Flash(.swf)
« en: Septiembre 15, 2020, 04:56:33 pm »
Saludos Makeros

Siempre que hago un videojuego, suelo usar png para los sprite; pero justo ahora me preguntaba si habia una forma de trabajar con Vectores en GM8. Segun tengo entendido, los archivos .swf soportan vectores ¿no?, de igual forma tengo entendido que en GMStudio se puede importar archivos flash (apartir de la version 1.3 para adelante). En mi caso, solo poseo la version GM8, por lo que solo estoy limitado a .png, .jpg, .gif

Ahora, se que hay extensiones y dlls para lograr cosas que las limitaciones de GM8 no permiten. Un ejemplo seria la extension CASTER: "esta permite mejor manejo en los sonidos y el poder pausarlos y reanudarlos (cosa que en GMS se puede pero, en GM8 no)".
Tambien existe una dll para poder usar fisicas en GM8 (cosa que es exactamente igual al caso anterior).

Los .swf no solo me servirian para usar vectores, sino que tambien pueden tener secuencias de sprites mas completa que los gifs (en comparacion con el procesamiento de mi computadora. Cuando intento cargar un gif con mas de 6 sprites, este simplemente se termina lageando o los sprites terminan perdiendo colores y, partes en los pixeles), claro... No tienen tanta calidad pero aun asi me permiten reducir el peso, algo que me es esencial cuando intento hacer una escena cinematografica

Los .swf, podrian solucionarme varias cosas
1. Los vectores no pierden calidad aunque se le cambie el tamaño
2. Las secuencias de imagenes pueden ser mas largas y no me causaria ningun lageo o falla al importar
3. Ahorrarme el tiempo de tener que importar una por una imagen

En fin. Me ayudaria mucho, si alguien pudiera recomendarme alguna .dll/extension para resolver mi problema

5
Preguntas y respuestas / Re:movimiento cuadricula con movimiento listo
« en: Septiembre 09, 2020, 12:16:22 am »
Nadie es experto en esto, siempre hay un error por si acaso  :-X

Prueba cambiando "vh" y "vv" por "hspeed" y "vspeed", y quita el "x+=" y el "y+="

¿Por casualidad tu vel tiene un valor? Y prueba poniendo los puntos de anclaje a 0,0

6
Preguntas y respuestas / Re:movimiento cuadricula con movimiento listo
« en: Septiembre 08, 2020, 09:36:35 pm »
Podrias hacerlo con la funcion de place_snaped(), que sirve para verificar si el objeto esta alineado 32×32 pixeles
if place_snapped(32, 32) {
  vh = (-keyboard_check(vk_left) + keyboard_check(vk_right))*vel;
  vv = (-keyboard_chech(vk_up) + keyboard_check(vk_down))*vel;

  //Moverse en 4 direcciones
  if (abs(vh) > 0)
      vv = 0;
      else if (abs(vv) > 0)
      vh = 0;
}
x += vh;
y += vv;
Solo si el objeto esta alineado a la cuadricula de 32 pixeles, podra captarse el movimiento, sino pues simplemente se le sumara hasta llegar a una nueva posicion libre

Sugiero que para evitar errores, te asegures que el objeto ya inicie colocado en una posicion de 32×32, puedes hacerlo por medio del room editor o... En el evento create con la funcion:
// Si no esta alineado a una cuadricula
if !place_snapped(32, 32)
   move_snap(32, 32) // Se alineara automaticamente
Si despues de hacer lo anterior, te sigue dando algun error al moverte, entonces debe haber alguna parte mal en tu codigo

Sugerencias:
-Hacer que el sprite sea de un tamaño adecuado de 32×32
-Poner tu vel, a un valor de 2 o 4 para evitar un incomveniente (no recomendable usar un 3 o 5)
-Asegurar que tus colisiones sean de 32×32 con un place_meeting

7
Saludos. Eso lo puedes hacer facil desde todas las versiones (creo...?)

Lo unico que tienes que hacer es crear la instancia con instance_create() y agregarla a una variable
instancia = instance_create(x, y, obj); //Crea una instancia en la posicion (x,y) en tu caso (840, 330)
instancia.hspeed = 4; //4 = derecha, -4 = izquierda; si quieres hacerlo aleatorio usa choose(-4, 4)

// Para que valla mas rapido solo haz una alarma en ese objeto
instancia.alarm[0] = room_speed*2 //La alarma ocurrira en 2 segundos
Cuando creas una instancia y la archivas en una variable, puedes modificar las variables de esa instancia en particula o puedes manejarla mejor usando un with
with( instance_create(840, 330, obj)) { //Te metes dentro de la instancia que creaste
  // Aqui colocas todo lo que quieres que pase cuando se cree la instancia
}
Bueno creo que con lo primero ya puedes hacerlo sin dificultad, yo recomendaria que te ojees el manual para conocer otras funciones de movimiento mas sencillas (si es que las hay(?) )

8
Preguntas y respuestas / Re:Imagen de disparo demasiado rapido
« en: Septiembre 05, 2020, 02:24:58 pm »
¿Por casualidad que tan rapido va la animacion? Ya probaste con disminuir el image_speed, o sera que en otra parte (codigo movimiento) estas modificando el image_speed y por eso no se nota

9
Preguntas y respuestas / Re:Enemigos que ataquen solo si lo atacas
« en: Septiembre 05, 2020, 02:31:24 am »
La forma mas facil seria poniendo una variable en el objeto enemigo que quieras
FuiAtacado = false;
Esta servira para saber cuando perseguir y atacar al jugador
if (FuiAtacado) {
  //Aqui colocas las mecanicas para perseguirlo
}
Y cuando ataques al enemigo, cambie la variable de la instancia a la que ataques (recomiendo que crees un obj_atack y lo gestiones en un evento colision)
other.FuiAtacado = true;
De esa forma cada instancia sabra cuando perseguir al enemigo, solo cuando sepa que fue atacada

10
Preguntas y respuestas / Re:Imagen de disparo demasiado rapido
« en: Septiembre 04, 2020, 09:43:59 pm »
Creo que el problema puede estar en la primera parte, no lo se, pero prueba en la primera parte poniendo las variables de image entre llaves
if (keyboard_check_pressed(vk_space) && global.puede_disparar == true)
{
  sprite_index = spr_disparo_der;
  image_index = 0;
  image_speed = 0.4;
}
Si no pones entre llaves las variables que quieres que se ejecuten, entonces solo se ejecutara la primera que esta despues de la condicion y las demas seran ignoradas, por eso es importante que las pongas entre llaves

11
Saludos Paublinix

En primera: Supongo que ya tienes todos los sprites del personaje del arma (obvio xD), asi que podrias almacenar en una variable que verifique cuando tengas un arma
if (arma == true) {
  sprite_idle = spr_idle_arm;
  sprite_walk = spr_walk_arm;
  sprite_jump = spr_jump_arm;
} else {
  sprite_idle = spr_idle;
  sprite_walk = spr_walk;
  sprite_jump = spr_jump;
}
Y cuando oprimas las teclas de movimiento, pones que el sprite_index sea igual a la variable de sprite correspondiente
sprite_index = spr_walk;

En segunda, a veces puedes tener varias armas y para esas situaciones solo podrias dibujar los sprites de esas armas en el evento draw
if (arma_current == 0)
 draw_sprite(spr_pistola, -1, x+(8*sign(image_xscale)), y)
De esa otra manera puede hacerse mas facil (y aun mas facil, si usaras una estructura de switch)

Claro puedes hacerlo como a ti te convenga en el momento

12
Saludos alemar5

Lo que se me ocurre para tu solución, es que almacenes los sonidos de las distintas pisadas en una variables en cada objeto de plataforma o superficie
///Definela en cada objeto de superficie que tengas y añádeles un padre a todos para una colision unica
Superficie_sound = snd_pisada_roca;
Y en un evento de colision o en el codigo añade un simple verificador para que sepa cuando deba reproducirse
if !sound_isplaying(other.Superficie_sound)
  sound_play(other.Superficie_sound);
Tambien puedes añadir una variable de temporizador si quieres un efecto mas concreto y calibrado

13
Preguntas y respuestas / Re:Problema al cambiar de personaje
« en: Septiembre 01, 2020, 02:07:48 am »
Otra solucion, seria calcular el espacio de pixeles entre el origen del sprite y el ancho, y restarlo a la "y" cuando cambies al mario grande
//Ponerlo en el codigo de transformacion
y -= sprite_get_height(spr_bigmario)/2;

//O tambien
y -= sprite_yoffset;
Solia hacerlo asi en mis primeros dias de GML. Aunque la solucion de DawCrash puede ser mas facil  :-[

14
Preguntas y respuestas / Re:Duda sobre "X Y" y "Direction"
« en: Agosto 18, 2020, 09:04:32 pm »
Gracias por resolver mis dudad y tienes razon, normalmente con codigos asi, suelo establecer una alarma de admenos 1 para que se carguen las variables de with pero como es una bala directa... Creo que habria que pulir el codigo un poco

15
Preguntas y respuestas / Re:Duda sobre "X Y" y "Direction"
« en: Agosto 18, 2020, 08:35:31 pm »
Buena mi entendimiento sobre la direction,speed,hspeed,vspeed han cambiado un poco, aunque ya entendi bien el funcionamiento de esos codigos

Creo que me urge enserio repasar las clases de matematicas  :-[

Otra duda es que cuando se crea la bala y se le aplica la direction y la speed, ¿eso hace que los componentes que son hspeed y vspeed se adapten segun... La direcion y magnitud del vector?

Páginas: 1 2 3 ... 12