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

1
Tienes que hacer una matriz de tamaño n, donde n=numero_de_vagones
En la matriz almacenas x,y de la locomotora y los vagones y en cada step haces que cada vagón se ponga en la posición siguiente de la matriz y la locomotora avanza normal.

Espero que darme a entender, es sencillo en realidad si sabes manejar matrices, ya que con un sólo ciclo lo haces.
2
Es una clave que tienes exclusiva para cuando subes aplicaciones a la Google Play.

Si subes un juego y luego creas otra keystore o cambias de máquina y no usas la misma, no podrás subir actualizaciones a tu juego.

Te recomiendo que crees una copia de la que usas por si se te llega a dañar o cualquier cosa.

Fuente: Experiencia propia, tengo un juego que no puedo actualizar porque no sabía :'( (Ahora incluso tengo una copia en mi cuenta de mega xD)
3
Preguntas y respuestas / Re:como parar un script
Marzo 04, 2016, 02:33:52 AM
En primera, tienes una alarma o alguna forma de controlar que esto no se reproduzca a la velocidad del room?

Segundo, el orden de tus instrucciones, primero, pones humo en 1 y la siguiente línea compara si en 1, por lo que siempre es verdadero y lo pone en 2, y al final comparas si es dos, por lo que vuelve a ser verdadero y se vuelve a poner en 0.

Sugiero que inviertas el orden solamente y una alarma en caso de que quieras que sea más lento.
4
Preguntas y respuestas / Re:Error al compilar con AdMOB
Febrero 23, 2016, 07:33:14 PM
Cuando investigué una de las opciones era cambiar el path del Asset Cache Directory en las preferencias, ya que a veces presenta problemas si es una ruta muy larga y otra opción fue borrar el sdk y volverlo a bajar, pero lo que me funcionó al final fue lo que ya comenté.

PD a tu PD kostra: Por qué es un error actualizar?
5
Preguntas y respuestas / Re:Error al compilar con AdMOB
Febrero 23, 2016, 04:29:33 PM
Yo también tuve ese problema la semana pasada  ??? y lo resolví actualizando a la versión beta (no estable) v1.4.1711
6
Juegos completos / Re:Psycho Path (Android)
Febrero 18, 2016, 04:40:52 PM
Muchas gracias por los comentarios, ya estoy trabajando en los botones  ;) Espero en un par de horas tenerlos listos y subir la actualización (Que tarda otro rato). Y a mi también me encantan los sprites de Kenney :D
7
Juegos completos / Psycho Path (Android)
Febrero 18, 2016, 08:06:15 AM

Psycho Path

Plataformas

GM: Studio (Android)

¿Está listo para un desafío?

¡En este juego pondrá a prueba su habilidad con los pulgares!

Empieza una aventura psicópata en una gran variedad de niveles, cada uno con desafíos únicos, para asegurar horas de estresante diversión.

En cada nivel se requiere llegar a la palanca para abrir la puerta y luego alcanzar ésta. Algunas veces será fácil una vez que la puerta esté abierta, pero en otros niveles abrirla será sólo el comienzo de la travesía.

El juego no está hecho para ser fácil, sino un desafío. Y completar cada nivel en pocos intentos dará como premio una medalla.

Terminar el último nivel desbloquea el nivel de bonus, el cual es super difícil y el último hasta ahora. Si llega a vencer este último desafío, será premiado con una medalla especial! :D



https://play.google.com/store/apps/details?id=com.pk34.Psycho_Path_Free


Cualquier sugerencia y/o comentario es bienvenido. (:

8
Noticias / Re:Concurso Comunidad Game Maker 2016
Enero 28, 2016, 04:52:14 PM
Yo también me apunto para concursar :D

Aunque no sé en que categoría podría entrar, dependiendo de que tan "Expertos" sean los expertos xD además no se spritear muy bien jaja pero a ver que sale.
9
Haz un cuarto y ponle una view mas pequeña que el cuarto para que se mueva, pon en el personaje que moverás este código es step:

[gml]
if(YoYo_GetTiltX()>0.15)
{
    if(x>view_wview[0]/2)
        x -= 5;
}
if(YoYo_GetTiltX()<-0.15)
{
    if(x<room_width-(view_wview[0]/2))
        x += 5;
}
if(YoYo_GetTiltZ()>0.45)
{
    if(y>view_hview[0]/2)
        y -= 5;
}
if(YoYo_GetTiltZ()<0.15)
{
    if(y<room_height-(view_hview[0]/2))
        y += 5;
}
[/gml]

El +-0.15 es el rango de tolerancia para que se mueva.

PD: el celular debe estar vertical y así como hay YoYo_GetTiltX y Z, hay uno "Y" para cuando es horizontal
10
Prueba seleccionando esta opción.  (adjunto imagen)
11
Preguntas y respuestas / Re:Pregunta rapida
Diciembre 12, 2015, 05:26:11 AM
Normalmente se actualiza una vez por día, aunque hay veces que hacen mantenimiento y tarda 2 o hasta 3 días.

Si lleva más tiempo sin cambiar o tienes un problema con tu plataforma o como comentaba kostra, lo baja poca gente.
12
Preguntas y respuestas / Re:¿Pausar animación Sprite?
Octubre 01, 2015, 09:02:29 AM
Puedes hacer una variable que empiece en 0 y la aumentas en 1 cada step y en lugar de dibujar el -1, dibujas la subimagen con ese contador, y una condición para que cuando llegue a la subimagen final ya no aumente el contador.


if position_meeting(obj_player.x+10,obj_player.y, obj_dooralter1)
{
  if(contador<10) contador++;
  draw_sprite(spr_curiosity,contador,obj_player.x+10,obj_player.y-5);
}


igual y reinicias el contador al final para que la proxima vez vuelva a empezar desde la primer subimagen.
13
No te preocupes por no entenderlo al inicio.

La primera vez que me explicaron para que servia me pusieron un ejemplo de movimiento horizontal con un for y me dijeron "aumentale el valor para que veas que pasa" y yo le puse como 10000 o una cosa así y se trabó el programa xD y como no lo entendí lo dejé a un lado por cerca de un año, lo cual ahora sé que me hubiera ahorrado mucho trabajo.

Trato de explicártelo de forma explícita pero sinceramente no sé que parte es la que no entiendes (o si es todo), si pudieras especificar que es lo que te revuelve, podría decirlo de otra forma. O pon que versión de GM usas y te hago un ejemplo.

Lo del incremento con el i++ ó i-- no lo usé porque en GM8 según recuerdo no lo aceptaba y en el Studio ya lo hace, pero es lo mismo poner i+=1 que i++ asimismo i-=1 que i--.
14
Un for lo primero que va a hacer es ponerte la variable en el valor que le asignes, y como comentaron no necesariamente es 0, luego va y lee todas las acciones que le indiques que haga, aumenta o disminuye la variable de "control" por decirle de una forma en la tercer sección <incremento/decremento> y evalúa la condición. Si la condición es verdadera, (ya que se maneja de manera booleana con valores posibles de verdadero/falso), vuelve a hacer todas las acciones, después va a la sección de incremento/decremento y vuelve a evaluar la condición; así hasta que la condición se haga falsa y ya no entre.

En la condición no solamente se puede poner "<" o ">" sino que puede ser de cualquier manera al igual que en un "if", por ejemplo i=10 (sólo cuando sea 10 entra); i!=10 (siempre que sea diferente de 10 entra); i<5 and i>0 (mientras el valor de i esté entre 0 y 5 entra), etc.

Un for es de lo que más va a usar cuando programes por su simpleza de estructura pero eficiencia en el programa, yo personalemte lo uso para todos mis menús, mi propio sistema de gravedad en mis juegos (porque el "gravity" no es exacto y con un for se puede ser completamente preciso), en el movimiento de mis personajes tanto el jugador como las IAs, en el HUD y en muchas otras cosas.


//código para dibujar un corazón por cada vida que tengas
for(i=global.vidas;i>0;i+=1)
{draw_sprite(30+16*i,20,spr_corazon);}



//código de gravedad
var incremento;
incremento = 0;
for(i=0;i<5+incremento;i+=1)
{
  if(place_meeting(x,y+1,obj_suelo))
    break;//Esta palabra reservada termina el for sin importar que aún se cumpla la condición
  y += 1;
  incremento += 0.2;
}
15
El for es como el while, un ciclo que repite una definida cantidad de veces una parte del código.

Como explicó Black_Cat esta conformado por cuatro partes.

for(inicio;condición;incremento/decremento)
{acciones;}

En el inicio tienes que poner una variable y asignarle un valor, por ejemplo i=0; que es el más famoso. En game maker no tienes que declarar la variable "i", pero si quieres usar otra creo si la tienes que declarar. Esta variable es para el control del ciclo ya que en algún momento tienes que salir de él. Esta parte sólo se lee la primera vez que entra al código.

La segunda parte, condición, es como un "if", pones en que momento quieres que se acabe el ciclo, por ejemplo i<10; no tienes que poner la palabra "if" sino que sólo la condición o condiciones. Cada que termina de leer todas las acciones checa si la condición se cumple y en caso de ser así, vuelve a entrar.

La tercera parte es el incremento/decremento. Una vez que acabe de leer todas las acciones viene a esta parte y realiza lo que le digas que tiene que hacer, por ejemplo i+=1

Por ejemplo puedes poner el siguiente código en el draw de algún juego para que veas cómo funciona todo esto:

for(i=0;i<10;i+=1)
{
draw_text(10+10*1,30,string(i));
}


La última parte es la de acciones, y es donde pones todo lo que quieres que repita. Es igual que un if, si sólo es una acción puedes o no ponerle las llaves "{}" pero si es más de una si debes ponerlas.

Trata de que nunca te quede un ciclo del que nunca se pueda salir ya que se traba el programa o juego en este caso, por ejemplo nunca pongas algo así for(i=0;i<10;i-=1){/*cosas*/} ya que inicias en 0, lo haces mientras sea mayor a 10 y lo vas decrementando, por lo que nunca va a ser mayor a 10 y nunca va a salir.