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

Páginas: 1 2 3 4
1
Preguntas y respuestas / Re:Como soluciono problema al saltar
« en: Marzo 27, 2020, 11:37:43 am »
es medio imposible adivinar XD
Pero si colocas el código podemos revisarlo y ver donde falla

Los siguientes usuarios dieron las gracias a este tema: fredred156

2
Preguntas y respuestas / Re:IMAGEN BORROSA POR UN DETERMINADO TIEMPO
« en: Marzo 16, 2020, 03:53:10 am »
eso pasa porque se queda en valores decimales, por ejemplo 3.5 y no en 4 o bien en 3, que serian enteros, entonces se suaviza la imagen.
En todo caso tendrías que redondear de alguna manera el valor dividido por dos:

vspeed = floor(vspeed / 2);
ahi no deberia darte problemas.

imagen demostracion de un objeto con coordenada decimal y un objeto con coordenada entera
Los siguientes usuarios dieron las gracias a este tema: dixon

3
Desarrollo de Scripts / Re:get_version()
« en: Enero 27, 2020, 04:14:56 pm »
tiene un error y es que lo uso bajo  :GM8: y me dice que es  :GM7:  :-[
Los siguientes usuarios dieron las gracias a este tema: dixon

4
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

5
Preguntas y respuestas / Re:AtaqueCuerpoaCuerpo
« en: Diciembre 18, 2019, 06:20:19 am »
La respuesta es: si.
De una manera simple: es relativo.
 
Una forma simple es  hacer un objeto que tenga un sprite rectangular. Creas el objeto y le ponés un evento de colision al enemigo para que reaccione al chocar con ese rectangulo y se haga daño, por ejemplo.

Otra manera simple tambien, es usar collision line:
https://docs.yoyogames.com/source/dadiospice/002_reference/movement%20and%20collisions/collisions/collision_line.html
alargar la linea desde el personaje cierta distancia, obtener el id del enemigo que esta tocando, acceder a sus variables con la sentencia with y restarle vida.


Los siguientes usuarios dieron las gracias a este tema: Maul7456

6
Hay un error garrafal en la receta, donde dice que no se tiene que usar un mortero de material poroso.
Bueno, ahi el mortero de granito, tiene mas agujeros que un colador.  Y dice que el de madera no es bueno.
Tiene que ser al revés XD

Esta chungo eso de tener solo 1 oportunidad. Lo mejor sería hacer un ranking de puntaje como "acertaste X de Y preguntas".
Te digo porque es un garron el gameplay ,tenes que mover el mouse al texto y esperar a que se valide. Y si comenzas de cero tenés que comerte la rimita, la historia, la receta de nuevo y eso no esta para nada agradable.

Punto a favor, nada relacionado con el gameplay. Es la curiosa manera en que está hecho el juego en si.

De ahi no me pareció un buen concepto de juego, osea, es un juego de leer una receta y contestar. Tranquilamente podes ponerle "concurso dia de gracias 2019" y cuela igual.
Los siguientes usuarios dieron las gracias a este tema: dixon

7
Lo que pasa es que en el caso solucion, la funcion dibuja una sola cadena, que es la que se está añadiendo caracter por caracter. Se limpia la pantalla y pasa al siguiente step.
Se dibuja un caracter mas, pero sigue siendo una sola cadena. Se limpia la pantalla y pasa al siguiente step, asi consecutivamente.

En el caso del for, dependiendo de cuantos ciclos haga el for, se va a ejecutar N veces por step. Por lo que si tenés un draw_string dentro del for, se va a dibujar N veces la misma cadena por step, lo cual desemboca en el efecto ese de negrita. Porque son muchos dibujos superpuestos.
Los siguientes usuarios dieron las gracias a este tema: renrojo

8
Preguntas y respuestas / Re:hit box
« en: Diciembre 05, 2019, 04:22:20 pm »
Si, Solamente tenes que activar la casilla de "mascaras de collision separadas" en las propiedades del sprite.
Y las modificas a mano una a una
Los siguientes usuarios dieron las gracias a este tema: BssString, JheyRost

9
Y bueno, ya que tenés la lista, usala para ver los valores
tomas la primer carta de la mano, y verificas si las otras 4 van en escalera, osea, va aumentando el valor en 1:
var carta;
carta = ds_list_find_value(mazo, 0)//la primer carta de la mano
if (ds_list_find_value(mazo,1) == carta+1) && (ds_list_find_value(mazo,2) == carta+2)
&& (ds_list_find_value(mazo,3) == carta+3) && (ds_list_find_value(mazo,4) == carta+4)
    global.poker = true
Notese la redundancia en el codigo, hasta se puede colocar dentro de un for. Pero bue, claridad, antes.

Y para verificar si es poker, tendrias que recorrer los primeros 5 elementos con un ciclo for, y una variable centinela, que indique que si 4 cartas son iguales, sea poker.
El codigo no lo escribo porque ya me voy a dormir XD pero no creo que sea muy dificil.
Los siguientes usuarios dieron las gracias a este tema: kaliman777

10
Preguntas y respuestas / Re:dibujar sprites desde un objeto cualquiera
« en: Noviembre 25, 2019, 12:39:01 pm »
Yo te recomiendo que primero lo penses y hagás con D&D y luego intentés extrapolarlo a GML.
Cambia cada accion en D&D por su equivalente a GML, para poder ir agarrandole la mano.

Porque  sino, o bien te puedo dejar un tocho de codigo, pero a lo mejor no entendés nada, y estaríamos en la misma.
Los siguientes usuarios dieron las gracias a este tema: AnaGM

11
Y, ponele que si. Supuestamente hay una funcion para eso:

buffer_get_surface(...)

Que convierte la surface en un buffer. De ahi, la mandás normalmente. Nunca intenté hacerlo.  :'(
Los siguientes usuarios dieron las gracias a este tema: KayasamiX

12
Preguntas y respuestas / Re:Información De Las Surfaces
« en: Octubre 01, 2019, 08:09:03 pm »
holis (?
amigo, las surfaces sirven para dibujar. Estuve por ahi leyendo que querés aplicarlas a una entrada de texto... hmm desde ya, usar surfaces no es la mejor manera. Ni la optima. Lo suyo seria manejar con funciones de cadena.

ahora, las surfaces como bien dice el amigo de arriba, son para dibujar, es como un lienzo. Y ahi podes hacer varios efectos combinando funciones que alteran el mezclado, por ejemplo par ahacer un sprite totalmente blanco o sacarle los colores a un sprite y dejarlo blanco y negro, o hacer el efecto de congelado. Un montonazo de cosas, pero tiene un cierto coste tanto de memoria como de procesamiento dependiendo ya de que tan vergas te pongás con el efecto.
hoy por hoy existen los shaders, que sirve tambien para aplicar efectos de dibujo y es más optimo. Pero asi tambien, lleva un poco de complejidad manejarlas.

bueno, las funciones basicas que necesitas saber para crear  y dibujar una surface son:

surface_crate(ALTO, ANCHO)-> crea una surface con el alto y ancho indicado. Osea, crea un lienzo de tal tamaño para poder dibujar en el. Cabe destacar que uno no vé directamente lo que se dibuja sino que lo hace a traves de codigo.
Otra cosa notables es que la surface tiene posicion absoluta, osea, siempre aparece en la coordenada 0,0. Esto hay que tenerlo en cuenta a la hora de dibujar
surface_free(SURFACE)-> esto borra la surface, es imprescindible borrar la surface si no se usa mas, porque ocupa memoria RAM, si no se borra se iría acumulando hasta que explote la pila de memoria y haga overflow.
surface_set_target(SURFACE)-> esta funcion pone a SURFACE como blanco de dibujo. Osea, todo el codigo de dibujo que siga despues de esta funcion, se aplica encima de la surface.
Ejemplo:

surf = surface_create(200,200); //se crea el lienzo de 200x200
surface_set_target(surf); //colocamos la surface para que las funciones de dibujo le afecten
draw_set_text(20, 20, "hola amigos de youtube!"); //la posicion es absoluta
surface_reset_target();
surface_reset_target(); -> hace que las secuencias de dibujo dejen de aplicarse a la surface antes definida con surface_get_target, y entonces las funciones de dibujo se aplican normalmente en la pantalla del juego

eso seria lo mas facil para comenzar a dibujar algo.
A grandes rasgos es como usar el evento draw solo que en un lienzo acotado :)
de ahi hay hartos efectos que le podes poner, pero bueno, eso pa otro tutorial(?
Los siguientes usuarios dieron las gracias a este tema: Johann

13
 XD

Goes to: https://enigma-dev.org
 Luego vas arriba donde pone Download, y vas a Windows.

Descargarlo es pava lo que si es un re quilombo es instalarlo, por lo menos en windows, tenés que tener mucha consideracion a la hora de saber si tu sistema operativo es de 64 o 32 bits. Para descargar Java de 32 o 64 bits, segun aplique. Y de instalar el MSYS2 de 32 o 64, segun aplique. Y de ahi descargar las dependencias, compilar, etc etc
Pero bueno seguí las instrucciones como dice la página, y todo va a ir joya

en linux es mas facil, es descargar y de instalarlo, la verdad sea dicha XD
Los siguientes usuarios dieron las gracias a este tema: dixon

14
Yo estuve probando una alternativa gratuita: Enigma
si no queres aprender a usar otro motor con un lenguaje robusto. Enigma es practicamente game maker, gratis
incluso es compatible con game maker de yoyogames

lo unico malo que le llego a ver yo, es que no tiene editor de sprites/background integrado pero meh, hay millones de alternativas para hacer graficos:
GIMP, paint.NET, pikopixel, JPixel, y ese de navegador que ahora no me acuerdo como se llama XD
otra desventaja es que no exporta a android todavia, pero es practicamente igual si vas a hacerlo con un game maker pirata xD
te lo recomiendo si queres estar libre de culpa a la hora de irte a dormir (? xd
Los siguientes usuarios dieron las gracias a este tema: Black7272

15
General / Re:Me presento y, continuo asi?
« en: Septiembre 02, 2019, 06:40:09 pm »
Y... a ver. Hay muchas cuestiones debatibles.
Primeramente, está bien usar un programa pirateado si no se puede pagarlo, lo usas para aprender, y luego cuando tengas la plata pagás la licencia del gms2. Ahora, lo que si estaría mal es vender juegos hechos con un software pirata y venderlos. Hasta ahora no sabemos que consecuencias tiene a efectos prácticos. Pero dentro del marco legal y moral, está mal, vamos xD sentido común tambien le dicen.

Ahora otro tema importante es hacia donde querés exportar, es sabido que GMS2 se fue de precio hace mucho, y no conviene como hobbista pagarse una licencia de GMS2 Android porque no es redituable a menos que saques muchisimos juegos y pagués la licencia y luego recien obtendrías las ganancias.

Caso extremo, de cambiarte a otro motor. Te lo recomiendo 100%, porque si estas aprendiendo recien a hacer juegos, empezar con un motor no va a contar el costo de tiempo y esfuerzo.
Hay muchas razones para cambiarse de game maker, desgraciadamente hoy en dia, son mejores alternativas porque:
1) son gratis
2) tienen más potencial, practicamente en todo: 3d(fisicas, oclusion ambiental por ejemplo postprocesado, soporte para varios formatos de modelo), fisicas, animacion, opciones de renderizado tanto 2D y 3D
3) los modulos para exportacion son gratis, no tenes que ir comprandolos aparte uno a uno, vienen juntos

Motores gratis hay varios, unity y godot por ejemplo que los use y recomiendo.
Los siguientes usuarios dieron las gracias a este tema: Black7272

Páginas: 1 2 3 4