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

166
Preguntas y respuestas / Re:Dudas en general de Arrays
Octubre 23, 2015, 10:30:52 PM
Cita de: NiuWeb en Octubre 23, 2015, 10:26:19 PM
¿puedo leer cualquier dato/array (como se diga...xD) desde otro objeto?
Sí. Si la variable del arreglo es global, se puede leer cualquier elemento del arreglo desde cualquier objeto. De hecho, aunque no sea global, se puede leer desde cualquier objeto, sólo hay que usar el método punto (si no es global)

Cita de: NiuWeb en Octubre 23, 2015, 10:26:19 PM
¿Un Array se puede guardar en un .INI por completo?:
me explico:yo guardo la variable global.data en un ini, ¿Cuando yo abro nuevamente el ini y leo la varialbe, puedo usar todos sus [i]?
No. Guardar la variable que apunta al arreglo no va a guardar el contenido de los elementos en el ini. Se tiene que guardar elemento por elemento en el INI para poder recuperarlos después.
167
¿Estás usando alguna vista? Porque en una habitación "normal", las variables mouse_x y mouse_y dejan de actualizarse si el puntero sale fuera de los límites. Por favor da más detalles.
168
Cita de: venus en Octubre 22, 2015, 06:14:02 PM
Pero que no necesite estar unido a otro objeto.
No he hecho pruebas de esto específicamente, pero no creo que se pueda con un único objeto. El sistema Box2D trabaja en base a simulación. Una vez que el objeto está definido y se coloca en la habitación, el objeto (solitario, sin punto de anclaje ni unión) va a reaccionar a las fuerzas que actúen sobre él, y (me supongo) como lo haría un objeto en la vida real, si la fuerza es suficiente, una colisión (por cualquier lado/punto) lo va a mover.

Si quieres que el objeto se comporte como una unión con giro, creo que sí o sí necesitas otro objeto para anclarlo.
169
Cita de: Gerald_Shiko en Octubre 22, 2015, 04:25:39 AM
por cierto, creé un ejecutable del juego para ver si así no se congelaba pero nada :/
¿Esto quiere decir que el ejecutable también se congela? Es la primera vez que sé de un juego de GM que se congele. La primer recomendación que se me ocurre es probar el ejecutable en otros equipos, para descartar que tu PC produce la falla.
170
Preguntas y respuestas / Re:Cambio de room
Octubre 22, 2015, 03:46:27 AM
En [STEP]
[gml]if (room != menu_principal) and keyboard_check_pressed(vk_escape)
    room_goto(menu_principal)[/gml]
171
General / Re:Carga optimizada de páginas de textura
Octubre 21, 2015, 11:40:55 PM
Sí, pero sería un efecto visual, no real. GMS no dispone de una función para consultar que elementos se están cargando ni cuantos se han cargado de un total. Por ejemplo, no se puede saber cuántas páginas de textura se cargarán para la siguiente habitación, ni qué página está cargando actualmenbte. Ademas, el proceso de carga sería corto en la mayoría de ocasiones, tanto que la pantalla de carga (si estuviera basada en cargas reales) apenas se alcanzaría a ver o no se alcanzaría a ver.
172
Cita de: Guacusio en Octubre 20, 2015, 08:12:35 PM
Dado que eso va en el evento DRAW GUI, debiera ir sin referencia a las coordenadas del view:
Lo que menciona Guacusio es cierto. Me confundí y puse las coordenadas de la vista como si fuera otro evento.
173
El evento DRAW_GUI más que nada sirve para DIBUJAR. El código que estás colocando ahí no dibuja. Ese código muevelo a STEP del botón. En el evento CREATE del botón agrega:
[gml]visible = false[/gml]

En el evento DRAW GUI dibuja el sprite del botón A
[gml]draw_sprite(spr_botonA, 0,  view_xview[0]+50, view_yview[0]+270)[/gml]

El sprite debe dibujarse sin saltos, y debajo de él está el botón, que aunque invisible, todavía funcionaría.
174
¿Qué contenido sería el que actualizarías?

A mi no me seduce la idea de crear un launcher en GMS, símplemente por la manera en cómo trabaja actualmente. El problema que veo es la descarga de contenido/recursos, más específicamente, sonidos e imágenes.

1. La función que permitía agregar sonidos de manera externa se eliminó desde hace un tiempo. El manual indica que todos los sonidos se deben incluír en el árbol de recurso, lo que significa que no se pueden agregar nuevos sonidos, al menos no con las herramientas nativas de GMS.

2. Agregar cargar nuevos sprites (fuera del árbol de recursos) provoca que por cada sprite (por más pequeño que sea) se cree una nueva página de textura. Esto es muy ineficiente, y si tu juego va a cargar muchos gráficos, pues serían cientos o quizás miles de páginas de texturas ineficientes con las que trabajaría el juego. Hasta donde tengo entendido, esta es la manera en que trabaja GMS y no hay forma de cambiarlo actualmente. Quizás esto cambie en futuras versiones (o no).

No estoy diciendo que no sea posible crear un launcher, de hecho, no sería muy difícil. El tema del sonido no me preocupa tanto, porque hay dlls o extensiones con las que se podría resolver el problema de carga de sonidos, pero lo que más me amosca es (sobre todo en un juego grande) trabajar con paginas de textura ineficientes: se afectaria el rendimiento del proceso de dibujo en pantalla y crecería (para mi, de manera injustificada) el tamaño de la instalación del juego.

No sé qué tan buena solución sería, pero para optimizar el tema de las texturas, se podría crear una tira o plantilla con todos los sprites nuevos en imágenes del mismo tamaño que las páginas de textura, es decir, colocar manualmente los recursos graficos en un "sprite grandote". Al cargar ese sprite en GMS ya no habría espacio ineficiente en las páginas de texturas porque previamente te encargaste de llenarlas con tus imágenes. Lo malo de este método es que se requeriría mucho tiempo y paciencia para crear cada página de textura.

EDITADO: Olvídate del método anterior, ahora me doy cuenta que es muy malo. Sería un infierno tener que separar los sprites de esas páginas de texturas creadas manualmente dentro del juego.  :-[
175
Cita de: NiuWeb en Octubre 17, 2015, 11:19:31 PM
¿No hay una función similar a ésa?
Prueba a usar sprite_merge()
http://docs.yoyogames.com/source/dadiospice/002_reference/game%20assets/sprites/sprite_merge.html

no la he usado, pero por la descripción, debería servirte
176
Cita de: NiuWeb en Octubre 17, 2015, 11:12:58 PM
Lo que necesito es AGREGAR una SUBIMAGEN a un SPRITE que YA he CREADO...
Y eso es lo que precisamente hace la función sprite_add_from_surface(). ¿No nos molestamos en leer? xD

"it adds the defined area of the surface as a new sub-image to a previously created sprite." Agrega el área definida de una surface como una nueva subimagen a un sprite ya creado.
177
No estoy seguro, pero creo que Guacusio ya había mencionado que para eso podrías usar la función sprite_add_from_surface(). Para poder usarla, previamente necesitas tener una surface que contenga la subimagen que quieres agregar.

http://docs.yoyogames.com/source/dadiospice/002_reference/game%20assets/sprites/sprite_add_from_surface.html
178
Preguntas y respuestas / Re:Imagenes superpuestas
Octubre 17, 2015, 08:33:18 PM
Cita de: evansmako123 en Octubre 17, 2015, 07:44:24 AM
Ya que sabes del tema, podria decirte mis dudas por mensaje privado?
No tengo inconveniente, pero piensa que si expones tus dudas en el foro, las respuestas que te den en esta comunidad serían de ayuda para otros usuarios.
179
Preguntas y respuestas / Re:Imagenes superpuestas
Octubre 17, 2015, 06:21:50 AM
Cita de: evansmako123 en Octubre 17, 2015, 04:57:21 AM
Intente lo de la profundidad, pero es lo mismo por que no sirve para poder rodearlo.
La profundidad sí sirve, sólamente que en lugar de darle una valor constante, hay que ajustarla dinámicamente, de acuerdo a la posición Y de los objetos.

Pista: Cuando el jugador queda por detrás del árbol, su coordenada Y es menor que la del árbol. Cuando el jugador está por delante del árbol, es porque su coordenada Y es mayor que la del árbol
180
Preguntas y respuestas / Re:Problema con las colisiones
Octubre 17, 2015, 01:46:26 AM
Si no has modificado la profundidad (depth) de esos objetos, ambos tienen una profundidad 0. Le puedes dar al atropellado una profundidad mayor, por ejemplo 100, y esto hará que quede por debajo, o al revés, darle una profundidad menor al motoquero (no conocía esta palabra), por ejemplo, -100.

Los objetos con profundidad mayor se dibujan primero, los objetos con profundida menor se dibujan después (quedan encima)