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

931
Una manera en que probaría hacerlo es definir un arreglo
[gml]
mi_alarma[0]
mi_alarma[1]
mi_alarma[2]
mi_alarma[3]
[/gml]

y en create darle valores a cada elemento, según la duración deseada. En step se podría usar un switch/case o ifs para probar en qué momento cada elemento llega al fin de su cuenta (puede ser una cuenta ascendente o descendente, tú decides).

Otra alternativa sería usar los eventos definidos por usuario como alarmas adicionales, en ese caso, se tendrían que llamar mediante la función [gml]event_perform()[/gml]

Obviamente, para ambos casos, la cuenta de pasos no se realiza automáticamente como pasa con las alarmas, sino que se tiene que incrementar/decrementar un contador y controlar en qué momento se detiene o se reinicia la cuenta.


932
No.  :GM8: sólo permite exportar a .exe (Windows). Y para exportar a Android en GMS, hay que adquirir el módulo correspondiente.
933
Preguntas y respuestas / Re:¿Variable global?
Diciembre 29, 2014, 05:16:21 AM
En el objeto que tiene vida, agregas una evento CREATE y ahí pones [gml]vida = 5[/gml]

La colisión se puede manejar de distintas maneras, una es agregando un evento de colisión en el mismo objeto que tiene "vida", ahí especificas que la colisión es contra el objeto X. Al revés también se puede: en el objeto x se agrega un evento de colisión contra el objeto que tiene vida. Otra manera es sin usar eventos de colisión, sino funciones de colisión en STEP (de cualquiera de los dos objetos). Las funciones de colisión son:
http://docs.yoyogames.com/source/dadiospice/002_reference/movement%20and%20collisions/collisions/index.html

Si la resta de vida se hace en el mismo objeto que tiene vida, símplemente es [gml]vida -= 1[/gml], si la resta se hace en el otro objeto, entonces sería [gml]mi_objeto_con_vida.vida -=5[/gml], obviamente cambiando el nombre del objeto por el correspondiente a tu juego. Si la variable es global, entonces no hay necesidad de usar el ultimo ejemplo, sería como el primero

Al quitar vida, se debe usar una condición IF, porque puede suceder que la colision ocurra muchos STEPS continuos, en los cuales se restaria vida, con lo que se le acabaría la vida muy pronto a ese objeto, cosa que casi nunca se desea

934
Preguntas y respuestas / Re:subir escaleras y variables
Diciembre 27, 2014, 10:59:45 PM
Cita de: dragon01 en Diciembre 27, 2014, 08:25:43 AM
Lo mismo me ha ocurrido otras veces al intentar llamar variables de objetos desde otros, nose si abra alguna otra forma de acerlo o directamente no se puede.
No entiendo estos cambios en el programa, ahora me parece menos versatil que los anteriores, o quiza sea mejor que versiones anteriores y yo no sepa como usarlo.
Gracias por las ayudas
Esos cambios de los que hablas no existen. La manera de usar GML es la misma en Studio y en GM8, 7 6, etc. Lo que ha cambiado es que ciertas funciones se han removido, pero la forma en que se accede a variables de otros objetos es la misma de toda la vida (al menos mediante código, veo que usas Drag and drop, lo cual no tengo idea si haya cambiado)

escalera_solida.solid = 1 debería de funcionar, si no es así, prueba con
[gml]
with(escalera_solida)
{
     solid = 1
}[/gml]

Si eso no funciona, sube tu proyecto para poder verlo con más detalle.
935
Preguntas y respuestas / Re:Movimientos con un Gamepad
Diciembre 25, 2014, 11:28:18 PM
El makero Clamud me comentó que esa función tampoco le funcionaba  (valga la redundancia) :-[ con su control (creo que su control era genérico, peor no recuerdo con seguridad). Yo he probado esa función con controles de Xbox y me funciona. No dispongo de un control genérico para hacer pruebas.

Si no te funciona, prueba a usar las viejas funciones heredadas de GM8
joystick_check_button(id, numb)
937
No se necesita de ninguna función especial para hacerlo, símplemente usando las variables que tengas en tu juego.

"1. Si dinero mayor o igual a objeto.precio y se presiona botón de comprar, comprar. 2 Restar objeto.precio a dinero. 3. Agregar objeto a inventario"
938
Preguntas y respuestas / Re:Crear objeto en espejo
Diciembre 24, 2014, 09:32:57 PM
instance_create(obj_01,obj_01+240,obj_02)
1. El primer parámetro debe ser un valor numérico que indique la coordenada x en la habitación, y tú estás haciendo referencia a un objeto. Esto aunque no es correcto, no da error, porque porque obj_01 para GM es una referencia numérica, así que toma ese número y lo considera un valor en x, pero desde luego que no va a funcionar como tú esperas.

2. GM no tienen manera de entender que obj_01+240 debe usarse como valor para la coordenada Y. Para usar el método de punto, se debe usar OBJETO.VARIABLE, pero te está faltando tanto el punto como la variable a la que quieres referirte

instance_create(x[obj_01],y[obj_01]+240,obj_02)
3) Aquí, las instrucciones x[obj_01] e y[obj_01]+240 tampoco tienen sentido, no corresponden a una notación válida que GM pueda interpretar. En casos como estos lo mejor y más rápido es consultar el manual para conocer la sintaxis correcta.

http://docs.yoyogames.com/source/dadiospice/002_reference/001_gml%20language%20overview/401_05_addressing.html

Por ejemplo, para referirse a la coordenada y del objeto 1, con un desplazamiento adicional de 240 pixeles, sería
obj_01.y + 240
939
image_speed = 3 es una velocidad demasiado alta: 3 subimágenes por cada step. Más bien debería ser algo como 0.3

La condición no funciona porque el player tendría que estar EXACTAMENTE a 0 pixeles de distancia, cosa muy difícl de lograr, es mejor cambiarlo a distance_to_object(obj_player) < 50, por ejemplo

940
Para seleccionar o hacer referencia a instancias individuales, se debe usar la variable id

http://docs.yoyogames.com/source/dadiospice/002_reference/objects%20and%20instances/instances/instance%20properties/id.html
941
Creo que al mencionar el efecto de las nubes te refieres a Parallax. Los pájaros no se verían tan bien en parallax, sería mejor que fueran objetos que se mueven rápido de un lado al otro.

http://www.comunidadgm.org/preguntas-y-respuestas/alterar-background-segun-la-zona-en-la-que-te-encuentres/

Yo no sé qué tamaño de fondo o de ventana usa mario bros, pero lo que quieres hacer (que la cámara siga al jugador) se logra usando views, que se accede a ellas desde la pestaña views en la configuración del room (o por código).

Un par de tutoriales de GML escritos (en inglés)
http://forums.tigsource.com/index.php?topic=3142.0 (La parte III de éste explica lo de las views, así que no estaría mal que lo revisaras)

http://tecfaetu.unige.ch/etu-maltt/nestor/morandl/clef/learn_gml.pdf

942
Cita de: jaimitoes en Diciembre 23, 2014, 09:18:29 PM
El YOYO compiler no actua sobre la gpu sino sobre la cpu, es decir, manejo de inteligencia artificial, arrays, muchas variables etc... en cuestiones de rendimiento gráfico es exactamente igual tenerlo o no tenerlo..
Ninguno de los proyectos en los que lo probé usa surfaces ni shaders, ni funciones de textura, por lo que no se hace uso de GPU.

Cita de: miguelo en Diciembre 23, 2014, 01:55:48 PM
Por conjeturar... uhmmm, dudo que saquen algo en navidades... tampoco en enero, por aquello de la resaca. No sé... (siempre desde la pura conjetura), digo que, si acaso, a partir de marzo.
Pienso igual. no creo que el 2.0 salga en las próximas semanas. Además, los precios en general van a subir a partir del 1° de Enero,  porque YoYo acaba de anunciar que una nueva legislación les obliga a aplicar impuesto VAT en ventas digitales:
http://www.yoyogames.com/news/251


:-X :-X
943
Cita de: shaq145 en Diciembre 23, 2014, 10:58:55 AM
Yo tengo el pro 1.2 que compré de rebajas el año pasado, pero aún no he actualizado a la versión 1.4 porque he leido que dá algunos problemas...entonces, si actualizo a 1.4 tendré el yyc??
Supongo que sí, ya que eso me pasó. Obvio, sólo será el YYC para Windows nada más. Si quieres mantener la v 1.2, puedes instalar la versión early access más nueva, y a esa meterle tu licencia pro, me imagino que eso activaría el YYC en la versión early access, ya que se pueden tener las dos versiones de GMS instaladas sin que haya problemas (sólo necesitarías instalarla en distinto subdirectorio o unidad, para evitar fallas)
944
Para empezar,
if xfade = 0 {mensaje="Text1";}
if xfade = 2 {mensaje="Text1";}

Ahí estás usando dos veces el mismo mensaje, cuando a mi entender deberían ser distintos. Luego estás usando

draw_text_ext(x-160,y+90,string (mensaje2),-1,320)

Pero eso símplemente dibuja mensaje2, SIEMPRE, no hay nada que haga variar el mensaje. La condición del if tampoco ayuda, pero aun sin la condición, por si mismo, ese draw_text siempre dibujará lo mismo. Una manera de resolverlo es usar arreglos para almacenar los mensajes de textos, para poder hacer algo como
[gml]
randomize()
var msg = irandom(2)
draw_text(x - 160, y+90, string(arreglo_mensajes[msg]) )
[/gml]
945
Cita de: elmenda3 en Diciembre 23, 2014, 03:55:40 AM
¿Alguna otra idea? :(
¿Consultar el manual? Más específicamente, las variables sprite_height y sprite_yoffset.

random(room_height) no va a funcionar porque no toma en cuenta el tamaño (vertical) del sprite. Pero usando una de las dos variables anteriores (dependiendo de cómo tengas configurado el origen de los sprites en GM), se puede por ejemplo hacer que a room_height se le reste el tamaño del sprite y así asegurar que el sprite aparezca siempre completo.