El problema es que el sprite no cabe en la página de textura. El límite es 2048 en todas las plataformas. Una solución es dividir la imagen (ya sea sprite o background), pero eso trae como consecuencia un mayor número de cambios de textura cuando se ejecuta el juego. Busca "fondo borroso" y encontrarás varios temas relacionados.
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.
422
Preguntas y respuestas / Re:DETECTAR SI EL RATON SE MUEVE O NO
Febrero 27, 2018, 07:21:11 AM
Para evitar el problema con la view, se puede obtener la posición del mouse respecto a la ventana
[gml]
window_mouse_get_x()
window_mouse_get_y()
[/gml]
la capa GUI
[gml]
device_mouse_x_to_gui
device_mouse_y_to_gui
[/gml]
o la pantalla
[gml]
device_mouse_raw_x
device_mouse_raw_y
[/gml]
[gml]
window_mouse_get_x()
window_mouse_get_y()
[/gml]
la capa GUI
[gml]
device_mouse_x_to_gui
device_mouse_y_to_gui
[/gml]
o la pantalla
[gml]
device_mouse_raw_x
device_mouse_raw_y
[/gml]
423
Preguntas y respuestas / Re:Cambiar las posiciones de un objeto en una lista
Febrero 27, 2018, 07:12:38 AM
Puedes borrar el objeto al principio de la lista y agregarlo al final
[gml]
objeto = lista[|0]; //objeto en la primera posición
ds_list_delete(lista, 0); //borrar objeto
ds_list_add(lista, objeto); //agregar al final
[/gml]
[gml]
objeto = lista[|0]; //objeto en la primera posición
ds_list_delete(lista, 0); //borrar objeto
ds_list_add(lista, objeto); //agregar al final
[/gml]
424
Preguntas y respuestas / Re:RESETEAR LA MEMORIA DE LAS PERSISTENCIAS DE LA ROOMS
Febrero 22, 2018, 07:22:53 PM
Eso es lo que debes hacer, ir a la room que quieres que deje de ser persistente ejecutar la línea
[gml]
room_persistent = false;
[/gml]
Puedes ir a la room solo durante un frame para que no se note el cambio. Lo mejor sería desactivar la persistencia justo antes de salir de la room.
¿Para qué necesitas la persistencia?, tal vez se puede implementar otro método.
[gml]
room_persistent = false;
[/gml]
Puedes ir a la room solo durante un frame para que no se note el cambio. Lo mejor sería desactivar la persistencia justo antes de salir de la room.
¿Para qué necesitas la persistencia?, tal vez se puede implementar otro método.
425
Preguntas y respuestas / Re:Crear una Room de forma diferente
Febrero 22, 2018, 07:16:08 PM
Los buffers son espacios de memoria donde se pueden guardar datos de cualquier tipo. Es el método de más bajo nivel que tiene GMS para manejar la memoria.
Creo que preguntar sobre Unity no está prohibido en el reglamento, pero sería mejor preguntar en la sección general.
Unity utiliza un lenguaje orientado a objetos.
Creo que preguntar sobre Unity no está prohibido en el reglamento, pero sería mejor preguntar en la sección general.
Unity utiliza un lenguaje orientado a objetos.
426
Preguntas y respuestas / Re:Image speed ayuda
Febrero 22, 2018, 06:52:55 PM
El problema es que la variable image_index es un número con punto flotante y con el valor de image_speed no siempre cae exáctamente en 11.
Se debe comparar un intervalor
[gml]
if (image_index >= 11 and image_index < 11+image_speed)
[/gml]
Se debe comparar un intervalor
[gml]
if (image_index >= 11 and image_index < 11+image_speed)
[/gml]
427
Preguntas y respuestas / Re:Giroscopio girar personaje
Febrero 18, 2018, 05:31:15 PM
Creo ya entiendo mejor lo que quieres lograr. Puedes utilizar solo el valor del acelerómetro en el eje X o en el eje Y dependiendo de la orientación de pantalla que utiliza el juego, dejando un pequeño umbral para evitar que el sprite se esté volteando constantemente cuando el teléfono está casi horizontal.
[gml]
umbral = 0.2;
xx = device_get_tilt_x();
if (xx > umbral) image_xscale = 1;
if (xx < -umbral) image_xscale = -1;
[/gml]
[gml]
umbral = 0.2;
xx = device_get_tilt_x();
if (xx > umbral) image_xscale = 1;
if (xx < -umbral) image_xscale = -1;
[/gml]
428
Juegos completos / Re:Rabbit's Quest [Estilo 8-bit]
Febrero 18, 2018, 05:13:16 PM
Revisa las paredes de la primera habitación.
429
Juegos completos / Re:Spacial Fight III
Febrero 13, 2018, 04:51:47 AM
El juego se traba en mi computadora. Solo aparece la imagen que dice "Made with GameMaker" y después no responde. Utilizo windows 7. No lo he probado en otras máquinas.
430
Preguntas y respuestas / Re:Mando Game maker ayuda
Febrero 13, 2018, 04:45:20 AM
Una opción es dibujar el joystick en el evento Draw GUI y usar las funciones device_mouse_*_to_gui.
431
Preguntas y respuestas / Re:Invisible sprite en room anterior
Febrero 13, 2018, 04:41:05 AM
Ese párrafo está un poco difícil de intepretar, deberías agregar algunos puntos y comas.
432
Preguntas y respuestas / Re:virtual keys y touch/clics
Febrero 11, 2018, 06:59:32 PM
Antes de crear un instancia revisa que el mouse no está dentro de la virtual key.
[gml]
if not point_in_rectangle(
device_mouse_x_to_gui(0),
device_mouse_y_to_gui(0),
32, 32, 32+72, 32+64)
instance_create(mouse_x,mouse_y,obj_wall)
[/gml]
[gml]
if not point_in_rectangle(
device_mouse_x_to_gui(0),
device_mouse_y_to_gui(0),
32, 32, 32+72, 32+64)
instance_create(mouse_x,mouse_y,obj_wall)
[/gml]
433
Preguntas y respuestas / Re:Giroscopio girar personaje
Febrero 11, 2018, 06:45:03 PM
Separa los métodos de entrada de esta forma
[gml]
if (os_type == os_windows)
{
// código para teclado
}
else
{
// código para acelerómetro
}
[/gml]
Esta es una forma de girar un sprite
[gml]
xx = device_get_tilt_x();
yy = device_get_tilt_y();
zz = device_get_tilt_z();
image_angle = point_direction( 0,0, yy,xx );
[/gml]
[gml]
if (os_type == os_windows)
{
// código para teclado
}
else
{
// código para acelerómetro
}
[/gml]
Esta es una forma de girar un sprite
[gml]
xx = device_get_tilt_x();
yy = device_get_tilt_y();
zz = device_get_tilt_z();
image_angle = point_direction( 0,0, yy,xx );
[/gml]
434
Preguntas y respuestas / Re:evitar crear un nuevo objeto de una instancia persistente al volver a la room
Febrero 11, 2018, 06:33:21 PM
Puedes revisar si hay más de 1 instancias y destruir una
[gml]
if (instance_number(objeto) > 1)
instance_destroy();
[/gml]
O crear el objeto persistente en una room que no se va a volver a visitar.
Yo prefiero no usar objetos ni rooms persistentes, porque hay comportamientos inesperados que el manual no explica.
[gml]
if (instance_number(objeto) > 1)
instance_destroy();
[/gml]
O crear el objeto persistente en una room que no se va a volver a visitar.
Yo prefiero no usar objetos ni rooms persistentes, porque hay comportamientos inesperados que el manual no explica.
435
Preguntas y respuestas / Re:Crear Linea para láser [SOLUCIONADO]
Febrero 11, 2018, 06:25:38 PM
Se puede optimizar un poco haciendo una búsqueda binaria
https://yal.cc/gamemaker-collision-line-point/
Así para detectar el punto de colisión a 1000 px de distancia solo se necesitan 11 iteraciones en lugar de 1000.
https://yal.cc/gamemaker-collision-line-point/
Así para detectar el punto de colisión a 1000 px de distancia solo se necesitan 11 iteraciones en lugar de 1000.