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

1171
Preguntas y respuestas / Re:animando personaje
Septiembre 28, 2014, 07:35:18 PM
Usa image_xscale o image_yscale con un valor de -1 para invertir el sprite ya sea horizontal o verticalmente

http://docs.yoyogames.com/source/dadiospice/002_reference/objects%20and%20instances/instances/instance%20properties/image_xscale.html
1172
A lo mejor no influye mucho, pero intenta desactivar las arquitecturas "menos importantes"
http://docs.yoyogames.com/source/dadiospice/001_advanced%20use/global%20game%20settings/android%20tab.html

No sé si en Android sea así (me imagino que sí), pero GMS al final convierte todas las imágenes a PNG-24, así que el tamaño de los fondos y sprites terminan ocupando mucho más espacio.
1173
Preguntas y respuestas / Re: letra ñ en los textos
Septiembre 28, 2014, 01:08:46 PM
La fuente no soporta ñ ni caracteres con acento. Aquí se puede ver (pestaña "Character Map") todos los caracteres que incluye
http://font.downloadatoz.com/font,10161,wst-span.html
1174
Para poder usar contenido (imágenes, sonidos, logos, etc) protegido por derechos de autor tienes que contar con el  permiso del autor. Si no tienes permiso, la store te da de baja el juego o hasta la cuenta, sin importar si el juego es gratuito. Dos personas distintas me han comentado que les ha pasado esto, así que cuidado.
1175
Creo que debe ser a partir de la 1.3 para que puedas usar las funciones de Networking. A lo mejor la 1.2 las incluye, pero no estoy seguro, ya que nunca probé GMS antes de la 1.3
1176
No entiendo. Aquí dices que el personaje no lo controlas tú
Cita de: Lobomaestro en Septiembre 27, 2014, 02:08:37 AM
Ya que yo no controlo al personaje. EL personaje se controla solo.

Y luego dices que
Cita de: Lobomaestro en Septiembre 27, 2014, 05:10:46 AM
La direccion del personaje se controla mediante un swipe.
Hasta donde entiendo, un swipe o barrido lo hace el usuario, por lo tanto el personaje no se controla solo, sino que lo controla el usuario mediante el swipe. Y sí, se puede configurar el swipe de tal manera que el sprite cambie. Hace un tiempo hice un tutorial sobre eso, pero como no entiendo bien lo que quieres, no sé si te sea útil o no.
http://www.inventati.org/estupidezartificial/web/papers/swipe_full.html
1177
Todavía falta más claridad. Debes indicar cómo haces el ajuste de dirección en el personaje, porque de la fórmula o variable de dirección depende el cambio de sprite.

Suponiendo que el personaje use la variable  direction para ajustar su dirección, en el evento STEP preguntas qué valor tiene esa variable y usas el resultado para ajustar el sprite

"Si la dirección es mayor o igual a 0 y la dirección es menor a 45, haz que el sprite sea spr_derecha"
"Si la dirección es mayor o igual a 45 y la dirección es menor a 90, haz que el sprite sea spr_arriba_derecha
"Si la dirección es mayor o igual a 90 y la dirección es menor a 135, haz que el sprite sea spr_arriba"
etc, etc.

Esto se puede escribir como varias sentencias IF o como una sentencia SWITCH. Hay maneras más eficientes como usar un arreglo o ds_list para guardar los 8 sprites de dirección y usar
[gml]sprite_index = spr_array[direction * 8/360][/gml]
para cambiar el sprite según la dirección del personaje, pero si tienes poco usando GM la primera opción es la más obvia (pero no la mejor, vuelvo a repetir)
1179
Tienes que crear una unión (hay de distintos tipos) para que el objeto quede ligado al cursor y lo siga. Al soltar el botón del ratón, destruyes la unión.
1180
A mi no me gusta la idea de tener distintos objetos para representar distintos estados de un mismo personaje. Personalmente trato de evitar eso. En tu caso, al comenzar el juego, neceitas decidir (leyendo el ini) qué estado es el último guardado, ejemplo (en el ini)
estado=2

En donde el 2 significa que el personaje duerme y que se tiene que crear el objeto obj_player_sleep y no el otro objeto obj_player_normal.
1181
Las funciones normales de movimiento así como las variables de instancia "normales"  (x, y, gravity, speed, etc, etc.) NO FUNCIONAN ni tiene sentido usarlas cuando estás trabajando con el motor Box2D, el mismísimo manual lo aclara. Lo que quieres hacer comúnmente se resuelve usando una característica del engine de física. Te doy una pista:

Joints

1182
Preguntas y respuestas / Re:Sala de jefes estilo Megaman
Septiembre 25, 2014, 09:24:50 PM
El error tiene una de dos posibles causas

a) OBJ_Sunson es una variable que no está inicializada correctamente (si es una variable, debería contener el índice de un objeto o el identificador de una instancia)

b) En el juego no existe ningún objeto de nombre OBJ_Sunson y GM piensa que es una variable (que tampoco existe)
1183
Preguntas y respuestas / Re:Como resolver este problema?
Septiembre 25, 2014, 09:18:37 PM
Si vas empezando con GM, es fácil o no tabto, dependiendo de lo que quieras hacer.

La opción fácil pasa por agregar un objeto controlador al juego que se encargue de destruír el objeto avión, desplegar el mensaje de continuar y reiniciar el juego (función game_restart() ) cuando se elige continuar. El problema de esto es que al elegir continuar y reiniciar el juego, el juego va  comenzar desde el principio, perdiéndose el progreso. Si esto no es problema y es lo que quieres que pase, pues no hay más complicaciones. La otra opción es usar un sistema de guardado que lleve el registro de las variables que se deben guardar (vidas, nivel, posición, etc) para que al continuar, el progreso se mantenga. Si vas comenzando con GM esto a lo mejor te cuesta un poco, pero aquí en el foro puedes buscar en la sección de ejemplos para ver cómo se guardan datos o en la sección de preguntas y respuestas
1184
Esa característica se llama síntesis de habla o en inglés text to speech, y se usa para generar una voz sintética. Desconozco si hay una característica así en una suite de desarrollo de videojuegos, pero yo nunca he visto alguna referencia así (como parte de un IDE orientado a la creación de videojuegos).

http://www.oddcast.com/home/demos/tts/tts_example.php

Sobre la opción de usar palabras o frases grabadas, la lógica la decides tu, se puede hacer tanto que el audio suene al abrir la tarjeta como al presionar un botón. Por más que optimices, si el juego tiene cientos de audios, pues inevitablemente su tamaño crecerá. Hay tres opciones, usar mp3, ogg o wav para guardar cada frase. Yo me decantaría por ogg. Hay que tener en cuenta que un audio en ogg o en mp3 ocupa menos espacio EN DISCO que uno WAV, pero a la hora de reproducir el sonido, el audio se carga en memoria y ahí ya no existe compresión, por lo que ocuparía practicamente lo mismo (si son de la misma duración) que un WAV.
1185
Hace mucho que no veo este error en mi juego, pero recuerdo que era porque o estaba declarando mal un elemento de un arreglo o estaba haciendo referencia a un elemento de un arreglo que no existía o que todavía no estaba inicializado cuando intentaba escribir en él. Lo más probable es que una de las variables (probablemente la "s") tenga un valor que no corresponde a ningún elemento declarado del arreglo, como indica el error out of range [2,-1] ese -1 no es un valor válido

Se puede usar el debugger para saber si la variable tiene un valor incorrecto