Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

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

Páginas: 1
1
Preguntas y respuestas / Re:Como se generan las peleas por turnos?
« en: Septiembre 23, 2018, 06:36:38 pm »
Este tipo de cosas ya dependen totalmente de ti, pero ya te digo yo que lo normal es tener solo 1 mapa para las batallas. los fondos y los enemigos los vas generando por codigo.
te digo un dato que te puede ser util, aunque probablemente ya lo sabias
puedes marcar la casilla persistente en un objeto para que este no desaparezca cuando cambias de room


asi que lo ideal seria darle las instrucciones a ese objeto antes de pasar de room y cuando finalmente entres a la room de batalla que este mismo objeto genere lo que necesites con los las instrucciones dadas anteriormente.
Los siguientes usuarios dieron las gracias a este tema: Yuzo, HKaichim

2
Preguntas y respuestas / Re:Colocarle una id a mi objeto
« en: Septiembre 14, 2018, 05:14:24 am »
Hola HKaichim

Si es posible y es bastante útil. En general hay muchas formas de hacerlo. Te comento mis dos favoritas:

Forma manual:
En el editor de rooms de Game Maker, puedes hacer clic secundario y seleccionar "creation code". Ahí te permite crear un bloque de código específico para esa instance en particular. Este "creation code" ocurrirá después de su "Create Event" normal, así que cuidado con el orden en que asignas y revisas las variables, desde el "Create Event" normal no podrás conocer la variable que asignaste en el creation code del objeto hasta que llegas al Step Event.

Forma automática:
Si tienes un objeto único (ejemplo: un objeto control) que se crea antes que los demás objetos de la room, le puedes asignar una variable como por ejemplo "contador = 0".
En el "Create Event" de tus objetos, haces simplemente:
Código: [Seleccionar]
my_id = obj_control.contador
obj_control.contador += 1
Eso hará que cada objeto tome como ID el valor actual de contador y le sume uno para que después venga el objeto que sigue a hacer el checkeo y reciba un id diferente.
Como alternativa, puedes reemplazar la variable en el objeto control por una variable global.

Saludos

no lo pudo explicar mejor, y es cierto que es mas facil tener una variable global que un obj de control

lo de contador++ que puse arriba es lo mismo que poner "contador += 1" o "contador = contador + 1"
lo unico que hace es sumarle un 1 a la variable
Los siguientes usuarios dieron las gracias a este tema: HKaichim

3
Preguntas y respuestas / Re:Colocarle una id a mi objeto
« en: Septiembre 14, 2018, 03:50:10 am »
Muy buenas amigos tengo una duda, se puede crear un "id" en especial para un objeto y que este incremente o cambie al estar en el mapa? Ejemplo Obj1 = id, si este objeto esta en el mapa sera = 1, pero si coloco dos del mismo objetivo su id sera = 2 "no se si me hice entender"?

por default todos los objetos de game maker tienen id, es una variable cuyo nombre justamente es "id"

pero si queires crear tu propio sistema de ids es sencillo.
crea un objeto principal que sera el encargado de crear los objetos que tengan id
en el evento create del objeto principal por algo como
Código: [Seleccionar]
contador = 0;
luego cuando creas un objeto nuevo que tenga que tener id, crealo desde el objeto principal y haz algo como esto
Código: [Seleccionar]
objetoNuevo = instance_create(x,y,elobjetoconid);
objetoNuevo.identificador = contador;//a partir de ahora identificaras al objeto con esta variable llamada identificador
contador++//esto simplemente aumenta el numero del contador, para tener un id diferente cada vez que se crea un nuevo objeto
Los siguientes usuarios dieron las gracias a este tema: HKaichim

4
creo que necesito un poco mas de detalles como por ejemplo
el suelo es un objeto o son tiles/esta en el background?

de todas formas, si queires realizar una accion cuando un objeto se destruye, hay un evento para eso, es este
https://puu.sh/BuA8e.png

ve al objeto que se va a destruir, agrega ese evento y dentro ponle lo que quieras que se haga

si no sabes como hacer el efecto del "color" dame mas detalles e intentare ayudarte

Es un Objecto que se crea y debe lanzar la funcion de colorear en la parte en la que aparece, es algo complicado, pero la funcion es algo similar, Enemigo colisona con Ayuda estos al colisionar ya realizan una funcion y dentro de ella va el obj que aparecera en la misma zona de ambos y coloreara el suelo...

por lo que veo en el parent entonces el objeto si es un objeto, vamos bien

puedes hacer esto, en el objeto que se crea agrega un evento de colisión con el piso.
cuando escribes codigo en un evento colision, puedes usar "other" para referirte al objeto con que colisionaste

por lo tanto en el codigo de colision del objeto que aparece puedes poner esto

Código: [Seleccionar]
with(other)
{
//TODO LO QUE ESCRIBAS ACA SERA CODIGO EJECUTADO EN EL OBJ COLISIONADO
//EN ESTE CASO EL obj_piso
}

editado: no habia pensado en lo mas simple que es agregar un evento de colision el obj_piso con el objeto que aparece xD
El problema no es crear el Objeto ni la colision el problema es  hacer que el objeto pinte el suelo o lo colore...

bueno, yo te había preguntado antes si necesitabas ayuda con el efecto en si, no me quedo claro si ese era o no el problema.

bueno se me ocurren 2 maneras de "colorear" un objeto, la primera es la mas simple, ponerle por encima un sprite con transparencia
la otra es por codigo, para eso puedes usar la funcion draw_sprite_ext
este seria un ejemplo para dibujar el sprite del objeto con un color rojizo

Código: [Seleccionar]
draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, c_red, 1 );
puedes cambiar el c_red por el valor del color que quieras
Los siguientes usuarios dieron las gracias a este tema: HKaichim

5
creo que necesito un poco mas de detalles como por ejemplo
el suelo es un objeto o son tiles/esta en el background?

de todas formas, si queires realizar una accion cuando un objeto se destruye, hay un evento para eso, es este
https://puu.sh/BuA8e.png

ve al objeto que se va a destruir, agrega ese evento y dentro ponle lo que quieras que se haga

si no sabes como hacer el efecto del "color" dame mas detalles e intentare ayudarte

Es un Objecto que se crea y debe lanzar la funcion de colorear en la parte en la que aparece, es algo complicado, pero la funcion es algo similar, Enemigo colisona con Ayuda estos al colisionar ya realizan una funcion y dentro de ella va el obj que aparecera en la misma zona de ambos y coloreara el suelo...

por lo que veo en el parent entonces el objeto si es un objeto, vamos bien

puedes hacer esto, en el objeto que se crea agrega un evento de colisión con el piso.
cuando escribes codigo en un evento colision, puedes usar "other" para referirte al objeto con que colisionaste

por lo tanto en el codigo de colision del objeto que aparece puedes poner esto

Código: [Seleccionar]
with(other)
{
//TODO LO QUE ESCRIBAS ACA SERA CODIGO EJECUTADO EN EL OBJ COLISIONADO
//EN ESTE CASO EL obj_piso
}

editado: no habia pensado en lo mas simple que es agregar un evento de colision el obj_piso con el objeto que aparece xD
Los siguientes usuarios dieron las gracias a este tema: HKaichim

6
creo que necesito un poco mas de detalles como por ejemplo
el suelo es un objeto o son tiles/esta en el background?

de todas formas, si queires realizar una accion cuando un objeto se destruye, hay un evento para eso, es este
https://puu.sh/BuA8e.png

ve al objeto que se va a destruir, agrega ese evento y dentro ponle lo que quieras que se haga

si no sabes como hacer el efecto del "color" dame mas detalles e intentare ayudarte
Los siguientes usuarios dieron las gracias a este tema: HKaichim

Páginas: 1