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

Páginas: 1 2 3 ... 21
1
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:  :-[

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

3
Preguntas y respuestas / Re:Bajar Atravesando Plataformas
« en: Enero 19, 2020, 04:13:30 pm »
Podrias usar una variable dentro de la plataforma que indique si tiene al personaje encima entonces verificar la colision.
Si el jugador presiona abajo, seterias la variable en false, y no tendria lugar la colision.

O hacerlo solido/no solido.

4
Preguntas y respuestas / Re:como hacer un juego cartas
« en: Enero 19, 2020, 02:36:20 pm »
gracias por la respuesta, la verdad casi llegamos al mismo codigo, prácticamente
solo que al usar una sprite con las cartas como subimagenes el variables de card_weigth y card_height la pudimos obviar.

también llegué a eso de tener que poner un ciclo dentro del ciclo draw(aunque en nuestro caso fue en el evento step) y se presentó el problema de que, cuanto mas crecía la lista más lento iba el juego. mas que nada porque había un apartado en donde si uno pasaba el mouse por encima mostraba diferentes caracteristicas de la carta y eso llevaba su tiempo, puesto que al no ser un objeto tenía que tener un indice en alguna lista (en este caso era una grid) donde estuviera almacenada la informacion de la carta, a saber: nombre, descripcion, atributos, etc.
Algo similar pasaba con las verificaciones en el evento step.

Y bue, al parecer el mejor método es usar objetos, ya que de por si maneja las colisiones y se le puede poner los datos dentro.
es lo más fácil de manejar a largo plazo

5
Preguntas y respuestas / Re:Bajar Atravesando Plataformas
« en: Enero 19, 2020, 02:22:32 pm »
Lo que podés hacer es que el objeto en cuestion no sea solido y solamente verificar la colision cuando el personaje está cayendo, o que podría ser equivalente a decir vspeed > 0
entonces la coilsion no actua cuando se le da por debajo vspeed < 0 sino todo lo contrario.

6
Preguntas y respuestas / Re:como hacer un juego cartas
« en: Enero 17, 2020, 01:03:05 am »
Gracias por la respuesta colega, estabamos pensando eso mismo que dijsite.
Aunque lo habíamos abordado a hacer la mano con objetos, nos está dando uno que otro problema XD vamos a tener que cambiar eso de momento.
Gracias por la sugerencia! va a ser más como que usar matrices de datos. 8)

7
Preguntas y respuestas / como hacer un juego cartas
« en: Enero 15, 2020, 02:37:05 am »
Hola gente, feliz año nuevo (?
estoy pensando hacer un juego de cartas, pero no me figuro bien como hacerlo. Sé masomenos que clase de estructuras usar para armar la baraja o la mano del jugador, tipo listas y pilas, etc.
De hecho hice estas vacaciones algunas implementaciones de juegos basicos de cartas, tipo comparar 2 cartas de mazos distintos, etc.
Pero yo quiero llegar más lejos, implementar algo tipo magic o yugioh en donde uno tendría un mazo sacaría cartas y podría ponerlas en lo que vendría siendo un campo o encima de la mesa.

La pregunta en cuestión es, qué ideas me pueden aportar para gestionar las cartas encima de la mesa? porque tengo varias implementaciones, usar objetos como slots para ponerle una carta encima. O usar una matriz de NxM para representar el campo. O de ultima usar una estructura de collisionadores o zonas de lectura de mouse para saber donde se está poniendo una carta o donde se esta cliqueando.
No sé bien, a qué idea apuntar, por el tema de rendimiento o el tema de facilidad para programar a futuro.
La pregunta entonces es: ¿Cuál seria la abstraccion correcta para manejar las cartas?
 8) saludos jugadores de magic


8
Preguntas y respuestas / Re:¿Como le hago para crear una nueva variable?
« en: Diciembre 31, 2019, 01:23:09 pm »
Quiero saber como crear una variable , ¿necesito explicar algo más? ???
Pues si, el alcance o ámbito.

Existen 3 tipos de variables respecto a la clasificacion anterior:
1) Local de instancia
2) Local de evento
3) Globales

La 1, es local a la instancia, solo pertenece a éste, por ejemplo la vida de un enemigo, cada enemigo tiene su propia vida. Estas variables se declaran o crean desde el evento create del objeto:
vida = 100
nombre = "hormiga reina"
La 2, local al evento, solo existe dentro del evento en que se declaró y solamente sirve para aclarar un poco el codigo, evitar repeticiones, acomodar la logica. No tiene un uso así super especial como que digás WOW!, solo se usa para acomodar las cosas. Para este tipo de veriable se usa la palabra clave var y se puede usar en cualquier evento.
Ejemplo evento draw:
var operacion =  (32 * round(15/ 12)) + sign(vida) //operacion de ejemplo
if (operacion > 0)
    draw_text(0, 0, string(operacion))
else
     draw_text(0, 0, "La operacion vale 0 o menos")

draw_sprite(spr_enemigo, operacion, x, y)
notese que si omitieramos el uso de la variable operacion, deberíamos hacer el calculo por todo el codigo, lo cual lo haría dificil de mantener y de leer.

La 3, la variable global, es un tipo de variable que perdura por encima de todo, es decir, se puede leer entre rooms, objetos y no pertenece a un objeto en concreto. Por ejemplo la variable score, que s epuede leer desde cualquier lugar.
Tiene 2 formas de declararse:
globalvar score = 0//crea una variable llamada score 
global.salud = 100 //crea una variable llamada global.salud

9
Preguntas y respuestas / Re:ayuda con saltosxdd
« en: Diciembre 31, 2019, 01:08:01 pm »
Es imposible saber que falla si no pones el código GML que usas para resolver las colisiones.
Si nos presentás el problema mejor planteado con indicaciones, es más fácil ayudarte y tardamos menos en dar con una solucion.

10
Preguntas y respuestas / Re:como cambio el fondo
« en: Diciembre 23, 2019, 06:25:49 pm »
 pero si el link que puse es del manual que está en español...
 

11
Preguntas y respuestas / Re:como cambio el fondo
« en: Diciembre 23, 2019, 03:01:44 pm »
Amigo sin animo de ofender, llamarte la atencion o cualquier cosa que se considere ofensiva a tu perspectiva...
el 90% de las preguntas que haces se responden con el manual

pero bueno, acá te dejo la lista de funciones para cambiar el fondo de una room en Game maker
https://www.comunidadgm.org/manual_GM/Rooms_M.htm

12
Juegos completos / Re:Infeliz Navidad [Navidad 2019]
« en: Diciembre 22, 2019, 12:04:30 am »
006_time que hay amigo, tanto tiempo. Yo si te recuerdo, de hecho soliamos hablar por MSN y luego en el auge de facebook  XD yo hacía dibujos horribles en ese entonces,Hahaha XD que tiempos bro. Jugabamos a ser compositores y subir nuestras creaciones de FLStudio a Soundcloud.
Fua, me siento un abuelo XD

Pss, tu juego está espectacular graficamente hablando. Y bueno, el resto también para que vamos a mentir. Sonido, estetica, efectos, gameplay, prácticamente todo.
Al menos a mi gusto. Igual tampoco soy fan de los juegos con dialogo y monologos, pero para gustos, colores.

Aunque claro, el gameplay es lo que mas flaquea, al ser una demo, ps, que se juegan, 30 segundos y poco más. En mi caso hubiese escondido bien los regalos, que se yo, abajo del sofa o la cama, dentro de la heladera o del horno, cosas de ese estilo.

Bueno, nada, no se si sea ilegal dejar puntos en 2 proyectos distintos o si al menos entra como participante, pero te dejo puntines igual.

13
Lo de guardar en un archivo? hmm ahora no tengo tiempo pero, ya te digo, es trabajoso, y a lo mejor es como programar demasiado para algo sencillo.
Se puede hacer de varias maneras, segun se me ocurre a mi:
1) Una sería usar una matriz [x, y]  o una tabla de doble entrada para guardar las coordenadas de cada pastilla.
2) abrir el archivo txt
3) escribir la lista de valores dentro de la matriz
3) cerrar el archivo
Eso para guardar las pastillas que todavia quedan en la room.

Luego para cargarlas el proceso inverso.
1)limpiar la room de todas las pastillas
2)mover al personaje y los enemigos a sus posiciones
3)abrir el archivo
4)obtener cada valor dentro de la matriz y crear la instancia en esa posicion
   que aclaremos que si la matriz se llamara pastillas, entonces:
   pastillas[0,0] //coordenada x de la primera pastilla
   pastillas[0,1] //coordenada x de la primera pastilla
   pastillas[1,0] //coordenada x de la segunda pastilla
   pastillas[2,1] //coordenada x de la segunda pastilla
etc
5)cerrar el archivo

eso masomenos seria el trabajo que habría que realizar.

14
edit: disculpa XD flashé que decias los puntos de score.

No, en realidad, si tenes que usar room_persistent para que no vuelvan a aparecer las pastillas,  los puntos.
O hacer lo que dice el amigo. Reiniciar las posiciones x e y de los enemigos y de pacman.

De ahí creo que no hay otra forma. O sería una rebuscada, como : escribir el estado actual de las instancias del nivel en un archivo, reiniciar el nivel y cargar, el estado de las instancias desde donde se dejó. Lo cual, de normal, escribir y leer desde un archivo en disco es mas costoso en tiempo que hacer las opciones anteriores.

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



Páginas: 1 2 3 ... 21