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

46
Buenas tardes gente, me he vuelto a trancar y vuelvo a recurrir a ustedes, que siempre saben ayudar.

(VEAN LA IMAGEN)

Tengo un personaje el cual, para moverlo, le dibujo una ruta (flecha negra) con el mouse.

Para que el personaje se mueva hay que darle SPACE luego de dibujar la flecha.

EL PROBLEMA: Yo necesito que el cursor detecte el área que marqué en rojo para uno hacer click y colocar una acción en ese punto de la ruta.

Se me ocurrió hace un collision_rectangle que se dibuje en la misma forma en la que dibujé el rectangulo rojo en la imagen pero no se cómo hacer para dibujarlo siempre en esa posición con respecto a la flecha.

Otra cosa que se me ocurrió fue que la ruta sea un objeto en vez de un draw_arrow, pero no se cómo hacer eso tampoco.

Espero me puedan ayudar, gracias de antemano...  :-[
47
Cita de: elviskelley en Febrero 17, 2013, 07:23:39 PM
crean un object llamalo objCamino marca solid=true y agregale un event de collision contra el personaje y en dicho event agregas instance_destroy();

paso2: en el event step del personaje agregas
var a;
//verifica el mas cercano y guarda la ID.
if instance_exists(objCamino) then
{
a=instance_nearets(x,y,objCamino);
move_towars_point(a.x,a.y,3)
}
//verifica si existe el camino y si existe lo persigue.


Paso 3:
ahora para dibujar el camino por donde presionas el mouse.
creas un object que llamas objControlCamino
En su event global mouse left
repeat(3) {instance_create(mouse_x,mouse_y,objCamino);}
Listo....

Muchas gracias Elvis! Esa idea me abrió un poco más la mente para llegar a lo que exactamente quiero.

Saludos!
48
Buenas!

Amigos estoy haciendo un juego donde la forma de moverse es haciendo click sobre el personaje y, sin soltar el botón, arrastrar el cursor para dibujar una flecha/línea/ruta/camino (recto) luego soltar el click y que ese dibujo quede ahí para yo luego darle EJECUTAR y el jugador se mueva en esa dirección.

¿Tienen por favor alguna idea para desarrollar esta mecánica? Porque creo tener una pero demasiado tediosa y sé que hay alguna forma más práctica pero no me llega a la cabeza.

Gracias de antemano!
49
Cita de: Texic en Febrero 03, 2013, 10:43:21 PM
En el draw del objeto que va a dibujar eso tenés que poner
[gml]
c=collision_point(mouse_x,mouse_y,objeto,1,1)
if c<>-4
{
if genero="Hombre"
{
draw_text(mouse_x,mouse_y,"Es un hombre")
}
if genero="Mujer"
{
draw_text(mouse_x,mouse_y,"Es una mujer")
}
}
[/gml]
O en tu caso si usás dos objetos
[gml]
c=collision_point(mouse_x,mouse_y,Hombre_obj,1,1)
if c<>-4
{
draw_text(mouse_x,mouse_y,"Es un hombre")
}
c=collision_point(mouse_x,mouse_y,Mujer_obj,1,1)
if c<>-4
{
draw_text(mouse_x,mouse_y,"Es una mujer")
}
[/gml]

Texic, puedes por favor explicar el "-4"? Tengo entendido que el collision_point devuelve el id del objeto que colisiona, o un número negativo en caso de que no haya colisión.

Otra cosa, una corrección, las coordenadas del draw_text serían las del "cartel" donde francordoba quiere que aparezca el texto.

Saludos y gracias de antemano por responder mi duda.
50
Preguntas y respuestas / Re:Vagrant Story
Febrero 04, 2013, 09:58:22 PM
Hermano, ese juego es demasiado complejo, por más que lo trates de generalizar o reducir es un juego muy completo.

Empieza con algo básico como: un personaje que recorre calabozos y pelea con enemigos y le pones un sistema de batalla que se medio parezca al de Vagrant Story (vas a tener que trabajar bastante con eso XD)

Saludos!
51
Cita de: pucara en Febrero 01, 2013, 08:45:38 AM
Juego didáctico y te permite aprender, por eso ya merece una mensión.

La pena es que  puede ser jugado sólo desde compatibles ó laptops (portátiles) con teclado numérico, descartando el resto de dispositivos.
Una pena, ya que por ese motivo no puedo probarlo.

Un saludo y gracias por compartir  8)

Qué lastima pucara, es que como ya dije, era un juego para realizarlo en día y medio, y cuando nos llegó esa idea no quisimos buscar más y empezar a desarrollarla, obviamente pensamos en eso de que los que tengan laptop sin numpad no podrían jugarlo y pensamos colocarle como controles alternativos Q,W,E,A,S,D,Z,X,C. Pero no nos dio tiempo.

Te invito a que lo pruebes en una pc con numpad para que experimentes eso de la dificultad.

Saludos y gracias por jugarlo y comentar!
---------------------------------------------

Cita de: BeckerCL en Febrero 01, 2013, 02:26:02 PM
Está interesante el concepto del juego y de maenra personal el nivel de dificultad me parece atractivo. Felicitaciones.  :D

Gracias Becker! Espero pronto hacerle los achievements, más niveles (corazones deteriorados que tienes que regenerar y mantener por cierto tiempo), y mejorarle ciertas cosas como por ejemplo acentuar más la parte didáctica, que el juego te enseñe qué es lo que en realidad perjudica el corazón (en vida real), cómo cuidarlo y evitar enfermedades cardíacas, todo eso.


Invito a los que no lo han jugado, a que le den un vistazo. Siempre es buena una crítica constructiva.

Saludos desde Venezuela!
52

CardiovascuJam (GlobalGameJam2013)

Otro

GM: Studio

CardiovascuJam fue pensado y desarrollado en 21 horas (la mitad del sábado y parte del domingo). Es parte de los juegos desarrollados en el Global Game Jam 2013, en este caso la sede fue Caracas, Venezuela. Los creadores: José Eduardo Terán, y yo (Klind)

------------------------------------------------------------------------------------
Descripción del juego:

El juego simula el funcionamiento real de un corazón humano, la sangre (puntos rojos) fluye a través del corazón y llega hasta la arteria aorta.

La arteria se va dañando constantemente y los glóbulos rojos la curan, pero aparecen células de grasa que bajan la velocidad de los glóbulos rojos, por lo que la arteria se daña más rápido de lo que se cura.

El objetivo principal es durar el mayor tiempo posible. Destruye rápido las células de grasa para mantener el buen flujo sanguíneo y así la vida de la Arteria.

------------------------------------------------------------------------------------
Mecánica del juego:

La mecánica es bien particular, por la forma de destruir los enemigos.

Tienes que darles click, y aparece un patrón/figura sobre ellos, tienes que hacer rápidamente ese patrón usando el numpad y si lo haces correctamente, el enemigo se destruye.
Por ejemplo, si el patrón tiene forma de L, tienes que marcar en el numpad: 713 o 317.

------------------------------------------------------------------------------------
Tipos de enemigos:

-Grasas comunes: son de color amarillo, se destruyen con patrones de 3 DíGITOS.

-Grasas rápidas: son de color azul, se destruyen solo dándoles click.

-Grasas jefe: son de color verde oscuro, más grandes que las demás, y se destruyen con patrones de 6 DíGITOS. Estas grasas suben la velocidad de las demás grasas.

------------------------------------------------------------------------------------
Power-ups:

Por cada glóbulo rojo que llega a la Arteria, vas ganando puntos que puedes usar para activar los Power-ups que están a la derecha:

-El primero acelera el flujo sanguíneo.

-El segundo cura parte de la arteria inmediatamente.

-El tercero destruye todos los enemigos que hayan en pantalla.

Hay un glóbulo morado que al agarrarlo te da 100 glóbulos. Va muy rápido y tiene un patrón de 6 DíGITOS.

------------------------------------------------------------------------------------
Acerca del Global Game Jam:

Es un evento mundial realizado simultáneamente en más de 60 países teniendo un total de 321 sedes. Se hace los últimos de enero de cada año y tiene como objetivo reunir a programadores, diseñadores y artistas para hacer juegos en 48 horas.
Al comienzo de cada Game Jam, dan un tema o tópico (el mismo en todo el mundo) y los participantes deben hacer el juego en torno a ese tema.
El tema de este año fue un audio donde sonaba el latido de un corazón (ya entienden por qué hice este juego así xD).

La página oficial del evento es http://www.globalgamejam.org Ahí pueden ver los juegos publicados de todos los participantes del planeta.

------------------------------------------------------------------------------------
Tengan en cuenta que el juego fue desarrollado en sólo 21 horas, por lo que puede presentar ciertos bugs (casi imperceptibles y que NO afectan la jugabilidad)

Anímense a probarlo y me comentan que tal les parece.


Saludos desde Venezuela!



http://www.comunidadgm.org/index.php?action=dlattach;topic=18106.0;attach=11820


El juego se hace difícil al principio, pero es cuestión de acostumbrarse a hacer las figuras con el numpad.

------------------------------------------------------------------------------------
EDITO: ARCHIVO ARREGLADO. DESCARGUEN EL .RAR, DESCOMPRIMAN Y AHI ESTA EL EJECUTABLE.
LO HABIA SUBIDO SIN LA LIBRERIA, POR ESO NO ABRIA XD.

53
Preguntas y respuestas / Re:Problema con el Random(x)
Diciembre 07, 2012, 06:00:48 AM
Cita de: Texic en Diciembre 07, 2012, 04:51:54 AM
Es fácil, está diciendo que si el número random que sale es 1, hacer x cosa

Exacto, por eso hice la comparación con el D&D del dado, que uno le especifica los lados, y 1 de cada (lados) veces devuelve true.
54
Preguntas y respuestas / Re:Problema con el Random(x)
Diciembre 06, 2012, 10:51:24 PM
Listo, era cuestión de poner el Randomize al principio del código.

Muchas gracias por el tiempo que se toman en ayudar!

[SOLUCIONADO]
55
Preguntas y respuestas / Re:Problema con el Random(x)
Diciembre 06, 2012, 11:45:50 AM
Que tal Elvis!

Mira acabo de intentar con el código que pusiste cambiándole ciertas cosas.

Por ejemplo: yy= irandom_range(0,192);  ya que la distancia entre el borde de arriba y las piedras es de 192.

E intenté poniendole el cero adicional al Ceil pero duraba demasiado para crear los enemigos, salía uno cada 40seg aproximadamente, así que los dejé en 200 y 300.

Y pues, hace lo mismo que el código anterior, solo que cambió la secuencia, pero sigue el problema, cada vez que ejecuto salen en el mismo orden. Será algún bug o defecto del Game Maker?

Yo creo recordar que años atrás, con el Game Maker 7 u 8, me pasaba algo similar con el random, siempre soltaba una misma secuencia.

EDITO: Repito lo siguiente, por si acaso tiene algo que ver:

El código está en el evento STEP de un obj_controller invisible que solo posiciona y crea la instancia del obj_enemy. Cada instancia del obj_enemy se mueve por si sola.

Algo curioso es que cada enemigo cuando es creado, yo le digo que camine hacia cualquier punto X que esté dentro del rectángulo negro (usando random también) y esta secuencia también se repite.

Es decir, aparte de que siempre se crean en la misma posicion, cada uno va siempre en la misma direccion, es como si el random estuviese preestablecido desde el mismo momento que lo escribo en el codigo del objeto.
56
Preguntas y respuestas / Re:Problema con el Random(x)
Diciembre 06, 2012, 05:22:31 AM
Ya va. No se si estoy entendiendo bien.

Yo uso el if ceil(random(200))=true para decirle la frecuencia en la que salgan los enemigos.

Para explicarme mejor, sabes el D&D del dadito? Que si uno le pone por ejemplo 5 lados, ejecuta la próxima acción 1 de cada 5 veces. Bueno, ese codigo de arriba es eso mismo pero en GML, con un dado de 200 lados.

El problema lo tengo es en eso que dices, la posicion que el instance_create le crea a cada objeto.

O sea en el random(room_width) y el random(192) siempre da una misma secuencia de valores que hace que los enemigos siempre salgan en el mismo orden cada vez que ejecuto.

PERO, aparte de que siempre salen en el mismo orden, siempre salen al mismo tiempo de juego, o sea el random(200) que está en el ceil también da siempre el mismo valor.

No entiendo nada  :(

EDITO: Cómo haces para que tu código salga más grande y con colores? :)
57
Preguntas y respuestas / Problema con el Random(x)
Diciembre 06, 2012, 04:27:55 AM
Buenas noches gente!

Tengo un problema al usar el random para que aparezcan enemigos al azar, el código que tengo en el Step del obj_controller que crea los enemigos es este:

if crearenem=true
{
    if ceil(random(200))=true
    {
    instance_create(random(room_width),5,obj_enemy)
    }
    if ceil(random(300))=true
    {
    instance_create(5,random(192),obj_enemy)
    }
    if ceil(random(300))=true
    {
    instance_create((room_width-5),random(192),obj_enemy)
    }


Este código crea enemigos en la parte de arriba y a los lados (por encima de las rocas, ver foto adjunta) y los enemigos van caminando al rectángulo negro de abajo.

El problema es que no lo hace random, siempre salen por el mismo lado cada vez que ejecuto y a los 10 segundos de juego siempre tengo la misma distribución de enemigos en pantalla.

Por qué pasa eso? Puedo usar otro método para que salgan realmente al azar?

Gracias de antemano, saludos!
58
No entiendo bien lo de "usar una mask". Si puedes explicarlo asi breve te agradezco.

Otra cosa, para probar el Collision_rectangle, puse un obj_controller que dibuja el score en la parte de abajo. Y escribí el siguiente código en el evento Step del carro:

// Comprobar si choca
    if collision_rectangle(89,71,151,122,obj_car,true,false)
        {score=1}
    else {score = 0}


Al probarlo me dí cuenta que la colisión es perfectamente precisa, puedo ir muy rápido pero cambia el score a 1 justo cuando el carro toca el edificio (area del collision_rectangle).

Por qué entonces no me funciona cuando le digo que en vez de cambiar el score a 1, muestre el mensaje de Chocaste y mueva el carro para atrás? Será algún problema con el show_message() ?

EDITO: Me vino una duda, uno puede publicar/distribuir juegos hechos con puros sprites de los que trae el Game Maker? O es ilegal?
59
Bueno, en relación al comentario de Wadk, yo la verdad sí empecé a hacer el juego y me tranqué, de hecho originalmente iba a hacer el tema sobre eso, pero pensé en que como hay tantas formas, capaz alguien daba una idea más practica que la mia.

Pero sí, tengo el problema con las colisiones, ya he intentado muchas formas pero siempre que va rápido, detecta la colisión antes de tocar la pared.

Intenté usando un obj_wall 32x32, solido, invisible, el cual ponía en cada edificio del mapa, y lo estiraba hasta cubrir completamente el edificio. No me funcionó porque cada vez que ejecutaba el juego, se descuadraban los obj_wall (Aparte de detectar el choque antes de tocar el objeto).

Intenté usando Collision_rectangle y el mismo problema.

En eso llevo días y días trancado, buscando en el foro, en wiki.yoyogames, etc...  :(

Gracias por el tiempo que se toman en ayudar.
60
Haz una variable que sea por ejemplo: "Disparar = True" en el evento Create del personaje.

En el evento del disparo, colocas:

If disparar = true {pon aquí el código para que salga la bala;
                                        disparar = false;
                                        alarm[0] = el tiempo que quieras durar sin disparar (en milisegundos)}


Y en el evento Alarm[0] colocas Disparar = True.

Saludos!