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

946
Preguntas y respuestas / Re:Copiar código con colores
Diciembre 22, 2014, 11:00:52 PM
Me parece que el sitio oficial de YoYo tiene una sección para sugerir características nuevas de GMS, se podría hacer el intento y añadir la sugerencia de copiar como texto RTF. Aunque De aceptarla(cosa difícil) seguro tardarían meses en implementarla  :-X

Sobre sublime text encontré esto, es a través de plugin, pero parece que no permite usar colores personalizados, sino esquemas predefinidos
CitarAn humble SublimeText package for exporting highlighted code as RTF or HTML

http://stackoverflow.com/questions/21037711/sublime-text-2-paste-with-colors-to-ms-word
947
Yo te sugeriría esperar, pero es sólo mi opinión. Yo no uso módulos Android ni IOs ni HTML5, símplemente uso el módulo normal de Windows. Desde la penúltima actualización del GMS, YoYo cambió su esquema y ahora se incluye el compilador para windows automáticamente para usuarios con licencia Pro.

Esto fue una sorpresa para mi, ya que al actualizar (teniendo licencia Pro), me apareció el YoYo compiler para windows listo para usarse.  :D (antes de este cambio, creo que su valor era de 299$  :'() Emocionado, comencé a hacer pruebas para probar el rendimiento superultramejorado que YoYo tanto presume.

...Bueno, me decepcioné un poco. ¿Mejora el rendimiento? Habría que hacer pruebas exhaustivas con muy distintos juegos, en muy distintos escenarios, en distintas computadoras para dar un veredicto final, pero con lo que yo pude probar, en algunos proyectos el rendimiento (frames por segundo del juego, no velocidad de la habitación) era el mismo sin compilador que con compilador. ME imagino que esto pasa porque eran proyectos pequeños, quizás, conforme los proyectos crecen y se complican, el rendimiento del YYC sse deje notar más, quizás.En uno de los proyectos que probé, el YYC me dió un 22~25% mas de fps que el módulo normal, esta fue la mayor diferencia  que noté en mis pruebas. Como mencioné antes, puede que en otros PCs o con otro tipo de proyectos, el rendimiento aumente, y claro que un 20% más de rendimiento en muchos casos puede servir de mucho, pero según mis pruebas, no siempre se nota la diferencia.

Si más que el compilador (que según YoYo, es más eficiente), lo que quieres es símplemente tener los módulos para exportar aprovechando que hay ofertas, entonces quizas el comprarlos sea buena idea, aunque desconozco si al salir la versión 2.0 de GMS vayan a ofrecer descuentos a quienes ya tengan los módulos (yo quisiera pensar que sí, porque si cobraran de nuevo el 100%, casi sería un robo), pero no tengo manera de asegurarlo
948
Preguntas y respuestas / Re:Market place, como registrar
Diciembre 22, 2014, 09:51:59 PM
No creo que algún usuario te pase su licencia. hasta donde recuerdo (a lo mejor ya cambió la política, pero no creo) marketplace es sólo para usuarios con licencia Pro de GMS. Yo no uso steam, pero no creo que con tener una cuenta de steam "normal" funcione. Sucede que GMS tiene una versión STEAM, que al final de cuentas es similar a una versión pro (se necesita comprarla)

En resumen, sin una licencia pro, no se puede (a menos que, como dije antes, YoYo haya cambiado la política y permita usar marketplace a todo mundo)
949
Preguntas y respuestas / Re:Ultima Dirección pulsada
Diciembre 22, 2014, 09:39:33 PM
El principio es exactamente el mismo, sea en teclado o ratón: guardar el último botón o tecla pulsado en una variable.

http://docs.yoyogames.com/source/dadiospice/002_reference/mouse,%20keyboard%20and%20other%20controls/mouse%20input/mouse_last_button.html
CitarThis variable returns the last mouse button that was pressed and can return any of the special mouse constants. You may also set this variable to use any of the constants too
950
Preguntas y respuestas / Re:ID de los objetos
Diciembre 21, 2014, 11:06:18 PM
Esto debería funcionar, en el creation code:
[gml]oid = id[/gml]
Eso usaría el viejo índice de instancia de GM8 y anteriores que son números a partir de 100000. De hecho, tu puedes cambiar el nombre id_7C218ECE por lo que tu quieras, eligiendo "rename object instance", pero yo no he usado esto, ni le veo utilidad. En este nuevo sistema, el nombre creo que es una variable global que sólo existe mientras exista la habitación actual.

Sin embargo, no es absolutamente necesario usar código en creation code. Se puede usar alguna función de colisión de las que devuelven el id, para saber el id de la puerta, o la función distance_to_object que devolvería el id de la puerta más cercana (si es que se abren acercándose a ellas)
952
Una solución es, activar el sprite de salto sólamente si hay gravedad, de esta manera, al contactar con el suelo, la animación de salto no podría continuar.
953
Preguntas y respuestas / Re:Posición relativa
Diciembre 21, 2014, 05:00:49 AM
Ya veo. Aqui dejo un ejemplo. El objeto del botón circular (obj_slider) usa la función draw_rectangle para dibujar la barra central

http://www.mediafire.com/download/34yf6oqn36bsfqr/control_deslizante.gmz

[spoiler][/spoiler]
954
Preguntas y respuestas / Re:Posición relativa
Diciembre 21, 2014, 01:35:47 AM
Cita de: Ynfiniti en Diciembre 21, 2014, 01:29:08 AM
Porque el botón va encima de un objeto base, y si el objeto base se mueve, el botón debería moverse con el  :-\

¿Y por qué no mueves el objeto base mediante el ratón, y haces que el botón siga al objeto base? En el objeto base:
[gml]
if (mouse_check_button(mb_left)
{
     x = mouse_x
     obj_boton.x = x + offset
}[/gml]
offset seria una distancia de separación si es que el botón no está exactamente alineado con el origen del objeto base (puede ser negativa, dependiendo de dónde se quiera colocar el botón respecto al objeto base)

Obvio que también se puede al revés, mover el botón y hacer que el objeto base lo siga

Cita de: Ynfiniti en Diciembre 21, 2014, 01:31:36 AM
¿No hay forma de que al soltar el botón, la posición en que se encuentra se vuelva relativa a la del otro objeto?  ???

La verdad no entiendo el comportamiento que quieres lograr. Pero el código anterior hace lo que mencionaste antes: si el objeto base se mueve, el botón se mueve con él (en x)
955
Preguntas y respuestas / Re:Posición relativa
Diciembre 21, 2014, 01:22:17 AM
Si quieres arrastrar el botón con el mouse tienes que usar las coordenadas del mouse, ¿por qué quieres que la posición del botón sea relativa a la posición del  otro objeto? Si usas la posición de otro objeto, entonces no respondería al mouse, a menos que tomes en cuenta la posición del mouse y del objeto y saques un promedio, lo que produciría un comportamiento raro
956
Poner código en el creation code de la habitación no quiere decir que las variables sean de la habitación. Desde luego que variables globales servirían, pero también se puede llamar a cualquier otra variable, pero con el método punto: obj_player.variable
957
No entiendo por qué usas room.variable. Las variables del creation code son variables de instancias, la habitación no tiene que ver.
958
Aplícale una condición a
phy_speed_x=-20
para que sólo se mueva mientras no haya colisión:

[gml]
if (choque == false)
    phy_speed_x = -20
else
    phy_speed_x = 0
[/gml]
en el evento de colisión, haz choque = 1, o en lugar del evento de colisión se puede usar en step la función physics_test_overlap() para detectar la colisión

No lo he intentado, pero probablemente otra manera de detener la instancia es deshabilitar su física mediante phy_active
959
Lo que sucede es que GM no actualiza el índice de imagen al cambiar de sprite, si estabas corriendo y se reproducía la subimagen 5 de ese sprite, y cambias al sprite de ataque, el sprite de ataque comienza en la subimagen 5. Suponiendo que el ataque sea haga con la tecla A. En el evento KEYPRESS de esa tecla, pones

[gml]
if (image_index >0 ) and (sprite_index != spr_ataque)
     image_index = 0
[/gml]
Esto haría que siempre comienze por el primer frame de la animación. Si sólo pones image_index = 0 sin la condición, siempre que se presione A volvería a reproducirse desde la subimagen 0, y si ya se estaba atacando, se vería mal.

El evento ANIMATION END es mejor alternativa que usar la alarma para terminar la animación. Suponiendo que quieres que después de atacar, el personaje cambie nuevamente al estado quieto

ANIMATION END
[gml]
if (sprite_index == spr_ataque)
{
     quieto = 1
     ataque = 0
}
[/gml]
Si tienes bien implementados los estados, eso haría que cambie el sprite automáticamente después de atacar. En el IF también se puede agregar una condición para que detecte si se presionan teclas de movimiento, si es que en lugar de quieto, quieres pasar a otro estado, como avanzar
960
Yo uso sprite_index y creo que 9 de cada 10 makeros lo usan (si no es que 10 de 10). La otra opción es usar DRAW, pero yo no recomendaría ese método.

Si no te funciona, es casi seguro que los ifs no están correctamente implementados o el evento donde se cambia el sprite, o su subimagen no es el más adecuado. Se puede usar el debugger de GM para rastrear el índice del sprite y ver en qué momento el código hace algo que no se espera. Muchos de los makeros con más experiencia usan sprite_index junto con un juego de estados (variables) que indican qué acción realiza el personaje. De todas maneras, hay sprites o animaciones que necesitan un ajuste fino, como detener la animación en cierta subimagen, o pasar automáticamente a otro sprite al llegar a la última subimagen del sprite actual, esas cosas es necesario verlas a detalle, porque así en un contexto general es difícil hacerse entender.

Muchos de los problemas en cuanto a animación exacta de sprites los resuelvo usando el evento ANIMATION END (me gusta más este evento que usar ifs para preguntar si se llegó a la última subimagen)

¿Exactamente qué problemas tienes con la animación? No creo que sprite_index no sirva para nada, porque eso indicaría un bug, y uno bastante grande, por si fuera poco, cosa que se me hace poco probable.