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

Páginas: 1 2 3 4
1
Preguntas y respuestas / Re:Sustituir objeto (Lista infinita)
« en: Abril 03, 2018, 08:56:18 pm »
Para algo como esto, puedes usar las listas dinámicas, que ya tiene ese tipo de sistema implementado.

Puedes hacer que le ID de los objetos estén dentro de la lista dinámica y que estos sean posicionados según la lista.

Al momento de eliminar uno de la lista, eliminas el objeto y recuperas el id de los demás para moverlos a la posición que deben de ocupar.


https://bygdle.xyz/gamemaker/manual/Referencia/Estructuras_de_datos/

2
Juegos en desarrollo / HixelArt
« en: Febrero 03, 2018, 01:30:12 am »


HixelArt


Otro


GM: Studio

Un programa de HixelArt, un hixel es la forma más pequeña de un hexágono posible. La base es utilizar esta forma en una rejilla para obtener una estética nueva en el pixel art.





https://www.dropbox.com/s/a8124zq6i18lzu3/Hixels.zip?dl=1


Botones de acceso directo:

D - Dibujar
E - Borrar
M - Mover lienzo
P - Obtener color
G - Guardar .png
H - Guardar .hix


3
Preguntas y respuestas / Re:Forma más eficiente de dibujar
« en: Enero 30, 2018, 08:59:54 pm »
Mmmm... creo que entiendo como seria la forma más eficiente usando la surface. Gracias  :D
Espero subir el programa dentro de poco, para los curiosos o para que me ayuden con los bugs....

4
Preguntas y respuestas / Re:Forma más eficiente de dibujar
« en: Enero 30, 2018, 08:07:01 pm »
Ya lo tengo en un arreglo bideimensional, los tiles solo se crean al inicio y solo se actualizan al momento de suceder un cambio, no tengo nada en draw ni en step  :-[


El problema es cuando se crean muchos tiles al mismo tiempo (ej. 300x300)

5
Preguntas y respuestas / Forma más eficiente de dibujar
« en: Enero 30, 2018, 06:17:05 pm »
Hola comunidad, hace tiempo que no pasaba por aquí, he regresado un poco con la programación, y tengo una gran duda con gane maker.

Tengo un proyecto para pixelart, pero estoy buscando una forma de dibujar eficientemente lo que el usuario hace.

Me explico:

Al principio dibujaba sprites en el evet draw con un ciclo for (según yo no es muy eficiente).
Luego lo hice con draw_rectangle (pero al ser muchos draw, me parece que tampoco es eficiente).

Ahora uso tiles, pero al hacer un lienzo/dibujo de unos 300x300 mi PC (un tanto buena) no da para poder trabajar con tantos tiles en pantalla.
Cual es la mejor forma de dibujar en GMS 1 y que trucos podría usar para mejorar el rendimiento?

6
Es tan sencillo como que al objeto enemigo le coloques una depth superior que al objeto que dibuja el HUD.

7
A menos que desactives la creación de backups, estos se crean cada que se guarda el proyecto. Ya sea al momento de salir, compilar o simplemente guardar. Si me equivoco lo peor seria que perdieras el proyecto :v  XD

8
Game Maker Studio, en las preferencias tiene registrado 3 directorios, uno para archivos temporales, la cache de los assets, y backups.

Los cambios que haces al proyecto antes de guardar o compilar, son registrados en archivos temporales. Al momento de compilar estos cambios pasan a formar parte del proyecto "final" o "los archivos permanentes", la compilación se hace en base a estos últimos archivos.

Por lo que puedes modificar libremente mientras se compila, afectarán hasta la siguiente compilación.

9
Preguntas y respuestas / Re:COLISION CON SPRITE
« en: Junio 28, 2017, 08:32:19 pm »
El obj_personaje necesita tener dos variables nuevas:

"pos_lin_x" y "pos_lin_y"; esto para que los enemigos puedan saber exactamente donde esta el origen de la luz.

el obj_enemigo para detectar la colisión necesita un código como este:

Código: [Seleccionar]
Colision = noone;
Colision = point_in_circle(x, y, obj_personaje.pos_lin_x, obj_personaje.pos_lin_y, 16);

if Colision != noone{
//Lo que tenga que hacer en caso de colisión
}

Nota 1: El código es más ilustrativo que funcional, debes de acomodarlo a tus necesidades.
Nota 2: Use "point_in_circle" como un ejemplo, si el sprite linterna tiene forma triangular usa "point_in_rectangle". haz los cálculos necesarios para que coincida con la forma y tamaño del sprite de la linterna.

10
Preguntas y respuestas / Re:error al compilar
« en: Junio 21, 2017, 05:54:40 pm »
Encontré un post en reddit, tiene el mismo error de compilación y lo solucionó. No soy bueno con el inglés  XD.
https://www.reddit.com/r/gamemaker/comments/4enuzs/cant_compile_for_android_extremely_frustrated/

11
Preguntas y respuestas / Re:Confrontaciones de movimiento :S
« en: Junio 21, 2017, 12:46:07 am »
Edité el mensaje anterior, también lo probé y está todo bien.

12
Preguntas y respuestas / Re:error al compilar
« en: Junio 20, 2017, 05:29:52 pm »
Pues en todo el log que pegaste en el primer post no veo ningún error  ???  solo veo que esta descargando datos para poder compilar.

No veo que diga "ERROR" o "WARNING" en ningún lado.

13
Preguntas y respuestas / Re:Confrontaciones de movimiento :S
« en: Junio 20, 2017, 05:26:17 pm »
La cuchilla esta más a la derecha, por que no eliminaste el "centro_x + " del Event Step.
Código: [Seleccionar]
//Movimiento de la cuchilla
x = path_get_x(path, pos_path);

No me di cuenta que el path no se dibujaba cerrado  XD , de la siguiente forma debería de servir.
Código: [Seleccionar]
///dbujar path

for(var i = 0; i < path_get_number(path); i++){

    px_1 = path_get_point_x(path, i);
    py_1 = path_get_point_y(path, i);
    px_2 = path_get_point_x(path, i + 1);
    py_2 = path_get_point_y(path, i + 1);
   
    //Si el segundo punto no existe, que tome el primer punto de todo el path.
    if px_2 == 0{
        px_2 = path_get_point_x(path, 0);
        py_2 = path_get_point_y(path, 0);
    }

    draw_line_width(px_1, centro_y + py_1, px_2, centro_y + py_2, ancho_linea);
}

Editado, según yo solo faltaba un "}"

14
Preguntas y respuestas / Re:Confrontaciones de movimiento :S
« en: Junio 19, 2017, 10:55:08 pm »
Si en el editor de paths, tienes los paths hechos para que estén justamente en el centro del cuarto, solo modifica lo siguiente:

Código: [Seleccionar]
//Le quite "centro_x" a las partes donde se coloca las "X".

//Movimiento
x = path_get_x(path, pos_path);

//Dibujado
if px_2 != 0{
    draw_line_width(px_1, centro_y + py_1, px_2, centro_y + py_2, ancho_linea);
}

15
Preguntas y respuestas / Re:Confrontaciones de movimiento :S
« en: Junio 19, 2017, 08:41:59 pm »
Yo uso el siguiente codigo para dibujar los paths que tienen movimiento:

Código: [Seleccionar]
//Dibujado del path
for(var i = 0; i < path_get_number(path_0); i++){
    //Se extrae el punto actual
    px_1 = path_get_point_x(path_0, i);
    py_1 = path_get_point_y(path_0, i);
    //Se extrae el punto siguiente
    px_2 = path_get_point_x(path_0, i + 1);
    py_2 = path_get_point_y(path_0, i + 1);
    //Si el segundo punto existe
    if px_2 != 0{
        //Dibujar las lineas en base al centro
        draw_line_width(centro_x + px_1, centro_y + py_1, centro_x + px_2, centro_y + py_2, ancho_linea);
    }
}
//Dibujado de la cuchilla
draw_self();

Adicional dejo un .gmz para que veas el funcionamiento

Páginas: 1 2 3 4