Wow, ¿has hecho tú el diseño y todo? se nota que te lo has trabajado mucho, me encanta :D
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.
2
Preguntas y respuestas / Re:Dividir lista creada por páginas
Abril 21, 2018, 02:37:43 PM
¡Muchas gracias!
He corregido el código de cambiar la página porque habías puesto lo de la última página al presionar izquierda y lo de primera página en la derecha
Y luego modifiqué lo del número de páginas, en lugar de multiplicar lo cambié por una división
He corregido el código de cambiar la página porque habías puesto lo de la última página al presionar izquierda y lo de primera página en la derecha
Código [Seleccionar]
///Para cambiar de página
// Ir a la página anterior
if keyboard_check_pressed(vk_left)
{
if (pagina > 1) pagina --; //página anterior
else pagina = 1; //primera página
}
// Ir a la página siguiente
if keyboard_check_pressed(vk_right)
{
if (pagina < numpags) pagina ++; //página siguiente
}
Y luego modifiqué lo del número de páginas, en lugar de multiplicar lo cambié por una división
Código [Seleccionar]
///Calcula el número de páginas
numitems = ds_list_size(listmail);
numpags = ceil(numitems / 4);
3
Preguntas y respuestas / [RESUELTO] Dividir lista creada por páginas
Abril 14, 2018, 04:31:21 PM
Me gustaría saber cómo hacer para dividir en páginas los valores de una lista.
Creo una variable aparte y la llamo var
si la var = 1 ( Selección de los 4 primeras valores de la lista, o sea, de la 1 a la 4 )
si la var = 2 ( Selección de los siguientes 4 valores de la lista, o sea, de la 5 a la 8 )
etc...
Lo que pretendo hacer es que por cada 4 valores que tenga la lista, se sitúen en una página distinta, la página 1 tiene 4 valores , la página 2 las otras 4 valores que le siguen a la lista, etc...
Creo una variable aparte y la llamo var
si la var = 1 ( Selección de los 4 primeras valores de la lista, o sea, de la 1 a la 4 )
si la var = 2 ( Selección de los siguientes 4 valores de la lista, o sea, de la 5 a la 8 )
etc...
Lo que pretendo hacer es que por cada 4 valores que tenga la lista, se sitúen en una página distinta, la página 1 tiene 4 valores , la página 2 las otras 4 valores que le siguen a la lista, etc...
4
Preguntas y respuestas / Re:Sustituir objeto (Lista infinita)
Abril 07, 2018, 05:58:12 PMCita de: Alesxanderk 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/
¡Muchas gracias!
5
Preguntas y respuestas / Sustituir objeto (Lista infinita)
Abril 03, 2018, 07:29:54 PM
Lo que yo pretendo hacer es colocar varios objetos en un orden, hasta aquí bien.

Y luego pretendo que los objetos puedan ser seleccionados, hasta aquí ningún problema.

Ahora el problema me viene cuando pretendo borrar el objeto, lo que quiero hacer es que, en este caso, el objeto 4 se convierta en el objeto 3 y regrese a la posición donde anteriormente se ubicaba el objeto 3. El objeto 5 que vuelva a donde se ubicaba el 4, y así con todos los de abajo.
Pretendo hacer algo tipo la acción de borrar un mensaje, que cuando borras un mensaje todos los mensajes de abajo se van para arriba, algo parecido a eso.
El problema es que pretendo crear una lista infinita, o sea que no haya límite de objetos, y se me dificulta bastante ya que no tengo idea como hacer exactamente lo de que cada uno de los demás objetos ocupen el lugar del objeto que falta.

Y luego pretendo que los objetos puedan ser seleccionados, hasta aquí ningún problema.

Ahora el problema me viene cuando pretendo borrar el objeto, lo que quiero hacer es que, en este caso, el objeto 4 se convierta en el objeto 3 y regrese a la posición donde anteriormente se ubicaba el objeto 3. El objeto 5 que vuelva a donde se ubicaba el 4, y así con todos los de abajo.
Pretendo hacer algo tipo la acción de borrar un mensaje, que cuando borras un mensaje todos los mensajes de abajo se van para arriba, algo parecido a eso.
El problema es que pretendo crear una lista infinita, o sea que no haya límite de objetos, y se me dificulta bastante ya que no tengo idea como hacer exactamente lo de que cada uno de los demás objetos ocupen el lugar del objeto que falta.
6
Preguntas y respuestas / Re:Mejorar menú de pausa (Evento draw se deshabilita)
Marzo 24, 2018, 01:28:43 PMCita de: Clamud en Marzo 22, 2018, 06:08:38 AM
Conozco dos métodos:
1. Desactivar las instancias y copiar la applicarion surface a otra surface y dibujarla durante la pausa.
2. Usar una variable global (global.pausa). Si la variable es true, no ejecutar el código del evento Step de las instancias.
Gracias. Al final lo que hice es lo segundo, buscar 1 por 1 las acciones y pararlas con el global.pause.
7
Preguntas y respuestas / Mejorar menú de pausa (Evento draw se deshabilita)
Marzo 19, 2018, 10:48:07 PM
He creado un menú de pausa y utilizo instance_deactivate_all(1) para desactivar todos los instances.
Pero al hacerlo el evento draw también se desactiva, lo que provoca que parezca que los instances han desaparecido en lugar de simplemente quedarse en pausa.
Pero al hacerlo el evento draw también se desactiva, lo que provoca que parezca que los instances han desaparecido en lugar de simplemente quedarse en pausa.
8
Preguntas y respuestas / Re:Detectar resolución de pantalla del jugador y aplicarla al juego
Diciembre 19, 2017, 03:50:44 PMCita de: 3dgeminis en Diciembre 19, 2017, 01:51:21 AMel origen no es 0,0.
La formula general seria : (tamaño de la view/2) - (tamaño del sprite/2)
Eso en el caso de que el origen del sprite sea 0,0.
Si te refieres a la esquina del tileset, es 1346x625
Si te refieres al centro del tileset es 1752x891
Y no sé a que te refieres con el tamaño de la view.
PD: He probado la formula manualmente, con un sprite en la posición 0,0 y con ella no llego a ninguna conclusión, creo que no nos estamos entendiendo bien:
Supongo que la formula que me querías dar sería esta que acabo de crear.
ResoluciónFullscreen - ResoluciónMinimizada = z
z / 2 = z2
x + z2 = Final
¡Gracias por el código, gracias a tu código me diste una idea de cómo realizar la operación!
9
Preguntas y respuestas / Re:Detectar resolución de pantalla del jugador y aplicarla al juego
Diciembre 18, 2017, 07:48:34 PMCita de: emanuelsko en Diciembre 18, 2017, 07:39:14 PM
Ok, ahora ya entiendo mejor. Entonces lo que quieres es que el menú aparezca siempre en el centro de la pantalla sea cual sea la resolución?
Para eso puedes obtener el alto y ancho de las view y dividirlas por dos.Código [Seleccionar]
instance_create(view_wview[0]/2, view_hview[0]/2, obj_menu);
view_wview[0]/2 lo que hace obtener el ancho exacto de la view y dividirlo en dos
view_hview[0]/2 lo que hace obtener el alto exacto de la view y dividirlo en dos
Teniendo eso ya puedes crear el menu exactamente en el centro de la pantalla.
Claro que para que funcione correctamente, el pivote del sprite de tu menu debe estar centrado.
¿No habría alguna forma de modificar solo la posición de las views?
Crear un instance no solucionaría mi problema, principalmente porque al cambiar de modo fullscreen a modo ventana no invoca de nuevo el item, habría que configurar que todos los items se borren y se recreen de nuevo y esto sería un verdadero desastre en el código de programación, por no decir que hay como unos 40 items del menú que se descuadrarían también.
10
Preguntas y respuestas / Re:Detectar resolución de pantalla del jugador y aplicarla al juego
Diciembre 18, 2017, 03:33:27 PMCita de: 3dgeminis en Diciembre 18, 2017, 04:58:28 AM
Mmm, queres cambiar el tamaño de la view o la posicion ?
Quiero cambiar la posición, no el tamaño. El código para tamaño sería Width y Height, pero yo quiero modificar el x y el y (view_xview[0] y view_yview[0])

Cita de: emanuelsko en Diciembre 18, 2017, 01:31:37 PMEse código lo que hace es redimensionar, y yo estoy pidiendo modificar el x y el y, ya tengo el código y las variables declaradas, solo necesito saber si hay alguna forma de centrar la view siempre en un punto en concreto y que no se mueva de ese punto, que siga con la misma resolución.
Prueba este código que en teoría tendría que funcionar.
En un evento create coloca lo siguiente.Código [Seleccionar]
///Desactivamos las surfaces
application_surface_enable(false);
//Se define el tamaño de la vista nativa de nuestro juego
view_wview[0]=640; //Debes remplazar ese valor por el ancho de tu view
view_wport[0]=360; //Debes remplazar ese valor por el alto de tu view
//Establecemos las siguientes variables para que el juego adapte automáticamente la altura del view según el ancho fijo
ancho = display_get_width();
alto = display_get_height();
ratio = ancho / alto;
view_hview[0] = view_wview[0]/ratio;
view_hport[0] = view_hview[0];
Por último, en las configuraciones globales tienes que desmarcar "Keep aspect Ratio" por "Full Scale".
Se puede pulir aún más pero creo que es un inicio para comenzar a probar como se comporta el código en tu juego.
Para que os hagáis una idea...
800x600 se vería el menú completo:

1366x768 se vería esta parte:

Lo suyo sería centrar todo en un mismo punto, en un centro: (Flecha amarilla)

Mi idea es que estés en la resolución que estés el menú se vea en el centro de la pantalla (O sea que se quede estético, sin modificar su tamaño, un menú de 800x600 que ni se amplia ni se redimensiona ni nada, está fijado, lo único que cambiaría sería la posición de la x y de la y de las views para que se vea en el centro de la pantalla del jugador, agradecería si alguien me puede explicar alguna fórmula, como yo no entiendo de dimensiones de pantalla dudo que haya una fórmula concreta para poder ajustarlo automáticamente al centro, pero de todos modos pregunto por si acaso. (El código ya lo había hecho, solo tengo que aplicar el nuevo x y el nuevo y de la resolución de usuario, eso es lo que me falta, hallar la posición nueva de las views según el tipo de resolución del usuario)
11
Preguntas y respuestas / Re:Detectar resolución de pantalla del jugador y aplicarla al juego
Diciembre 17, 2017, 11:07:24 PM
lo que quiero hacer es modificar el view_xview[0] y el view_yview[0] según el tipo de resolución que tenga el jugador
entonces por ejemplo en una resolución de 1366x768 sería x=1070 y=550
Mi pregunta es... ¿Tengo que asignar manualmente resolución por resolución como quiero que se vea el x y el y, o hay alguna operación matemática que me ahorre trabajo?
entonces por ejemplo en una resolución de 1366x768 sería x=1070 y=550
Mi pregunta es... ¿Tengo que asignar manualmente resolución por resolución como quiero que se vea el x y el y, o hay alguna operación matemática que me ahorre trabajo?
12
Preguntas y respuestas / Re:Detectar resolución de pantalla del jugador y aplicarla al juego
Diciembre 14, 2017, 02:42:47 PMCita de: NiuWeb en Diciembre 14, 2017, 12:16:29 PM
http://docs.yoyogames.com/source/dadiospice/002_reference/windows%20and%20views/display_get_width.html
http://docs.yoyogames.com/source/dadiospice/002_reference/windows%20and%20views/display_get_height.html
El problema me surge cuando intento modificar las views vía código, el programa al iniciar el fullscreen se adapta a las views de la room actual, pero al cambiar de room se estrechan y no hacen caso absoluto a las nuevas views
13
Preguntas y respuestas / Detectar resolución de pantalla del jugador y aplicarla al juego
Diciembre 11, 2017, 06:23:51 PM
¿Cómo hago para detectar y saber cuál es la resolución del dispositivo del jugador?
Lo que quiero hacer es que, cuando sepa la resolución que usa el jugador, y entre en modo pantalla completa entonces se le cambie la resolución de pantalla y se modifiquen las VIEWS, para que así el jugador siga conservando el mismo tamaño, solo que únicamente el mapa se vería más amplio cuanta más resolución tuviese el jugador.
Lo que quiero hacer es que, cuando sepa la resolución que usa el jugador, y entre en modo pantalla completa entonces se le cambie la resolución de pantalla y se modifiquen las VIEWS, para que así el jugador siga conservando el mismo tamaño, solo que únicamente el mapa se vería más amplio cuanta más resolución tuviese el jugador.
14
Preguntas y respuestas / Re:Cambiar el fondo negro del sobrante en el fullscreen
Octubre 17, 2017, 07:14:59 PMCita de: NiuWeb en Octubre 16, 2017, 10:15:05 PMCita de: Missy en Octubre 16, 2017, 10:10:01 PM¿Cómo lo solucionaste?
¡Arreglado!
Evento Pre-Draw:
Código [Seleccionar]
///Evento Draw GUI
draw_background_tiled(background1, 0, 0);
var surfW = surface_get_width(application_surface);
var surfH = surface_get_height(application_surface);
var ratio = surfW / surfH;
var windW = display_get_gui_width();
var windH = display_get_gui_height();
var ratio2 = windW / windH;
var realW = 0, realH = 0;
if(ratio2 < ratio)
{
realW = windW;
realH = windW / ratio;
}
else if(ratio2 > ratio)
{
realH = windH;
realW = realH * ratio;
}
15
Preguntas y respuestas / Re:Cambiar el fondo negro del sobrante en el fullscreen
Octubre 16, 2017, 10:10:01 PM
¡Arreglado!