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

1531
Intenta instalando el Android SDK versión 15 desde el sdk manager
1532
Preguntas y respuestas / Re:Ayuda con views
Junio 03, 2014, 08:39:18 PM
No importa tanto el borde horizontal de la view como su posición:

1. Dale un valor pequeño al borde horizontal


2. Posiciona la view en relación a la posición del personaje en pantalla [STEP]
view_xview[0] = obj_mario.x -50

Resultado:
[spoiler][/spoiler]

Ya no hice más pruebas, pero creo que ni siquiera hay que darle un valor al borde, sólo con posicionar la vista es suficiente
1533
primero tienes que declarar la variable combo1 en CREATE
1534
Preguntas y respuestas / Re:Rotar surface en 2D
Junio 03, 2014, 03:57:33 AM
¿Tienes centrado el origen del sprite? Por qué no rotas el sprite al dibujarlo en la superficie o por qué resulta complejo rotar el sprite?

No es necesario revisar si la superficie existe antes de dibujarla, pero es lo recomendable.
1535
Preguntas y respuestas / Re:Pausar juego.
Junio 02, 2014, 09:47:39 PM
Todo lo que el juego dibuja se envía a la application surface, mediante la variable application_surface tu accedes a esa superficie y se puede usar como cualquier otra superficie., por ejemplo

sprite_create_from_surface(application_surface,x,y,ancho,alto, remover fondo, suavizar bordes, xorigin, yorigin)

Si tienes dudas te recomiendo consultar el tutorial que incluye GM:S sobre el uso de la application surface

Otro método (que también implica usar superficies) es usar la variable view_surface_id[] que asigna una vista a una superficie, superficie que luego se dibuja en DRAW GUI
1536
En la última parte del código, no nada más hay que revisar si se presiona la tecla de ataque para mostrar la animación de ataque, habría que revisar si se está en el suelo o en el aire para decidir qué sprite se muestra.
1537
Hice un tutorial que creo consigue el efecto que buscas. Fue la manera en que se me ocurrió, pero seguro hay otras para hacer lo mismo, ojalá te sirva. De momento ya no me da tiempo de subir el proyecto en formato gmz, pero en unas horas más queda puesto. Por lo pronto está disponible el código y la explicación y creo que con eso lo puedes implementar.

Si entendí bien, el proyecto no tiene fallas, pero ahí menciono un comportamiento raro (no con el juego, sino con la manera en que lo hice funcionar, quizás es un bug de GMS). Ojalá lo pruebes y me comentes si te pasa lo mismo que a mi.

http://www.inventati.org/estupidezartificial/web/papers/multivistas.html

[spoiler][/spoiler]
1538
Al mismo tiempo creo que se puede asi:

switch (keyboard_key)
{
     case ord("A"):
     case ord("S"):
          combo1 = 1;
          break;
}

if (combo1 == true)
     sprite_index = spr_combo1
1539
Mmm... sí se ve algo avejentado tu GM:S  XD. No lo digo por la skin, sino por las opciones. Esto es lo que me aparecen a mi:


Creo que en tu caso, estás usando el engine anterior (legado del GM8), a lo mejor ese engine no se lleva bien en plataformas distintas a la PC.
1540
Lo que yo hago es que cada objeto tiene un "número de inventario", es decir, un número único que lo identifica y distingue de los demás objetos, por ejemplo, tal poción tiene el número 15, cierta espada el número 80, un escudo de bronce el 100, etc etc.

Tengo un ds_map con las existencias de cada item, pero igual puedes tener un arreglo, por ejemplo, para los objetos que mencioné antes
existencias[15] = 3         // 3 pociones
existencias[80] = 1         // 1 espada
existencias[100] = 2       // 2 escudos

En [CREATE] del objeto poción:
numero = 15

evento colisión con objetos items (en el jugador)       
item = other.id                               //obtener el id de la instancia
existencias[item.numero] += 1          // sumar +1 del objeto que se recogió
with (item) {instance_destriy()}       // eliminar el item del juego, una vez que se agregó a las existencias


1541
Las propiedades de sonido son como las propiedades de los sprites, es decir, cada sonido en el árbol de recursos tiene sus propiedades. Si la opción uncompressed no funciona, lo único que se me ocurriría sería usar un formato distinto para los archivos de audio, desconozco si android prefiere mp3 a ogg o viceversa, o si hay problemas reproduciendo uno o más de estos formatos. ¿Estás usando el nuevo sistema de audio? A lo mejor las funciones antiguas no funcionan tan bien en android (sólo suposiciones mías)
1542
Exaaacto!

Ese es meollo del asunto. No se aprende a multiplicar empezando por la tabla del nueve, sino por la del 1. La pregunta no es "se puede crear tal juego en GM?", sino "¿Puedo con mis conocimientos actuales crear este juego (por mi mismo) en GM?". Si la respuesta es no, entonces a seguir estudiando, probando, fallando y mejorando.

Si no tienes idea de cómo empezar, es porque no estás listo para "ese" juego. Y no lo digo con mala intención, sino porque es importante darse cuenta de lo que uno puede hacer y de ahí partir. Un juego como el que quieres hacer puede ser o fácil o muy difícil de hacer dependiendo de la experiencia de cada uno. No creo que haya un tutorial que por si solo te resuelva toda la lista de dudas que planteaste.

Haz juegos que correspondan a tu experiencia, y de a poco ve haciendo algo nuevo. No creo que haya un camino "rápido" cuando se trata de hacer juegos complejos.

1543
No tengo idea porque no uso android, pero deberías indicar cómo están configuradas las propiedades de sonido (creo que NO hay que selecionar "compressed")
1544
Cuando el jugador sume puntos:

score = clamp(score + puntos, 0, 100000)

Para mayor información revisa la función clamp en el manual
1545
Si es un objeto que ya no se utiliza jamás, destruirlo. SI es un objeto que más tarde volverás a usar, desactivarlo.

Al reactivar un objeto,  conserva todo su estado tal como estaba antes de desactivarlo: velocidad, posición, gravedad, índice de sprite, y demás variables que hayas creado, en
cambio si creas uno nuevo desde cero, es muy probable que necesites "recordar" el estado anterior de ese objeto (lo cual puede ser un par de variables o decenas de ellas), por lo que  tendrías que crear un sistema de guardado y recargado de datos para esos objetos.