Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - MaanuRP

Páginas: 1 2 3 ... 51
1
Preguntas y respuestas / Re:Duda con probar un room determinado
« en: Abril 14, 2014, 08:19:40 pm »
room_goto(numb);

//Donde numb es el nombre del room al que quieras ir.

2
Preguntas y respuestas / Duda con irandom
« en: Abril 09, 2014, 07:13:55 pm »
Hola a todos!

Me embarque en un nuevo proyecto y me encontré con un "problema".

Creo 300 instancias que son como bloques, para así cambiar una aleatoria por una instancia del objeto del jugador y asi el jugador va a tener unas coordenadas aleatorias, esto seria el resumen de lo que hace mi juego hasta el momento.

Me encontré con un problema al usar irandom (Para escoger que cuadro aleatorio se va a usar), ya que siempre me da los mismos resultados, por ejemplo (Tengo la tecla del espacio asignado a que se reincie el juego para ver como actuaba el irandom):

var Choose_Jugador,Choose_Jugador_ID;

Choose_Jugador = irandom(299) + 1
Choose_Jugador_ID = global.Instancia_Vacia[Choose_Jugador]
instance_create(Choose_Jugador_ID.x,Choose_Jugador_ID.y,Object_Jugador)
with(Choose_Jugador_ID) {instance_destroy()}

/*Donde:
Choose_Jugador va a ser un numero entre 1 y 300 aleatoriamente dado por el irandom.
Choose_Jugador_ID va a contener la id del cuadro del que hable arriba*/

El problema, prácticamente, es que apenas abro el juego, irandom me tira el valor 197 (Porque el jugador aparece en el cuadro 198, se que da 197 por el "+1". Cuando presiono la barra espaciador para que se reinicie el juego y supuestamente de otro resultado da 92, luego 201, 95, 286.

Hasta aqui no hay problema, ¿No? El problema consiste en que esa secuencia es SIEMPRE igual. Abro el juego y me va a dar 197, luego 92, luego 201, 95, 286 y así sucesivamente.

La duda es, ¿Por que me da siempre la misma secuencia de números? ¿Estoy haciendo algo mal o es un problema que debo solucionar de alguna manera?

Desde ya, muchisimas gracias!

Saludos!

3
Preguntas y respuestas / Re:botones para juegos en android
« en: Enero 12, 2014, 02:44:15 am »
Aca tenemos varias cosas distintas:

1) Los botones se quedan en un mismo sitio por mas que la view (La camara) se mueva.

Te invito a que pases por un post que pregunto algo similar, donde ya respondi y deje un ejemplo de como hacer para que los botones se muevan con la view.

http://www.comunidadgm.org/preguntas-y-respuestas/2-dudas-como-poner-botones-que-sigan-al-spr-y-como-cambiar-spr-del-enemigo/msg92447/#msg92447

(Este link te lleva directo a mi respuesta, igualmente es la primera)

2) Se tienen que dibujar en el evento Draw GUI porque sino no se ven directamente, eso nunca supe porque es, pero es asi y no hay vuelta que darle (Si tienes curiosidad de saber porque, lo puedes buscar, pero yo no lo se)

Saludos!

4
Preguntas y respuestas / Re:distance_to_object
« en: Enero 08, 2014, 08:31:30 pm »
Segun lo dice el manual de GM que tenemos a disposicion en el foro: abs(x) Devuelve el valor absoluto de X.

El valor absoluto es una expresion matematica (No se el termino es expresion) que devuelve el valor del numero con respecto al numero, osea, su distancia al 0.

En terminos mas faciles, devuelve el mismo numero pero sin signo.

Por ejemplo:

abs(4) = abs(-4)

Estas dos cosas te dan como resultado un valor de 4.

Saludos!

5
¿Esto es lo que quieren es esto? Presionen las flechas negras y veran como la view se va moviendo por el room, y los botones tambien. No importa si el view se mueve solo (siguiendo a un jugador, por ejemplo, o que algun evento lo mueva, los botones lo van a seguir.

PD: No tengo :GMS: ahora, por lo que lo hice en :GM8: pero igualmente lo pueden exportar con el :GMS:

Cualquier duda, consulten.

6
Preguntas y respuestas / Re:Guardar monedas para comprar
« en: Enero 08, 2014, 04:28:56 pm »
Hola peludo.

Lo primero que tenemos que saber es si el objeto con el que controlas las monedas es solo para eso, ya que si es asi, solo bastaria con hacerlo persistente (En la ventana del objeto activar la casilla "Persistent"), esto hace que el objeto este en todas las rooms (Desde que se crea), osea que una vez creado, solo se va a borrar una vez que tu lo hagas, por lo que no se van a borrar sus variables ni sus valores.

Tambien esta muy bien lo que te dijo WeGame, si usas un objeto que controla muchas cosas y no te sirve que sea persistente, puedes hacer global a la variable que guarda tus monedas. Lo unico que debes hacer es escribir "global." antes del nombre de la variable, asi se almacenara globalmente y no importa si el objeto se destruye.

//Para poner un numero exacto de monedas debes poner lo siguiente:
global.monedas = 20 //Siendo 20 el numero que desearias poner.
//Para agregar un numero de monedas debes poner lo siguiente:
global.monedas += 10 //Siendo 10 el numero que desearias agregar.
//Para restar un numero de monedas debes poner lo siguiente:
global.monedas -= 10 //Siendo 10 el numero que desearias restar.

7
Hola yopitan!

Hace bastante que no uso  :GMS:, pero no existe la misma opcion que en  :GM8:?

8
Hola Osiris MC!

1) Deduzco que tu problema es que pones los botones (Creo que te refieres a los touch) y no haces que se muevan por el room, los que los hace estacionarios y apenas muevas al view, estos se dejaran de ver.

Lo unico que tienes que hacer es agregar esto en el evento "Step" de los botones.

x = view_xview[0] + xx
y = view_yview[0] + yy

//Entendiendose "xx" e "yy" como el valor a los que quieres que esten esos botones, ya que si los dejas en 0, se pondran en la esquina superior izquierda de la view.
//Ademas, el numero "0" va a variar dependiendo de la view que estes usando.

2) Si es un juego de plataformas, basta solo con crear una variable que vaya cambiando con la direccion del jugador, esto quiere decir que en el evento que hace que el jugador se mueva para la derecha setee una variable en "derecha" y en el evento que hace que el jugador se mueva para la izquierda setee esa misma variable en "izquierda" (Obviamente esto de las variables, nombres y demas, va a tu gusto).

Luego de eso solo te queda en el evento "Step" preguntar por esa variable, y dependiendo en que estado este, varias el sprite_index de esa instancia.

O lo que es aun mas facil, en vez de crear la variable y demas, puedes cambiar el sprite de la misma manera pero en el evento de movimiento, el problema va a ser si quieres agregar mas estados y mas sprites.

Cualquier duda, pregunta!

Saludos!

9
Preguntas y respuestas / Re:distance_to_object
« en: Noviembre 22, 2013, 09:28:00 pm »
Nos ayudaria a ayudarte si pones que clase de juego estas haciendo. Yo me imagino uno de plataformas y que quieres que si no estan sobre la misma Y (Sobre la misma plataforma se podria decir) si te detecten, sino no.

Entonces lo que yo haria seria algo como:

if (abs(Enemigo.y - Personaje.Y) < 16) and (abs(Enemigo.x - Personaje.x)  < 256)
//Si la diferencia en el eje "y" entre el personaje y el enemigo es menor a 16 y la diferencia en el eje "x" sea menor a 256.
{
    //Atacar al jugador.
}

Y si necesitas saber de que lado te vienen los enemigos, puedes agregar lo que dijo brunoxzx

distancia=enemigo.x-x;
//Con eso tienes, te da negativo si el enemigo esta a tu izquierda

Saludos!

10
Preguntas y respuestas / Re:aplastar enemigo
« en: Mayo 13, 2013, 07:12:25 am »
Hola!

La manera mas simple para saber si tu personaje esta cayendo sobre el enemigo o no, es verificando su vspeed.

if vspeed > 0 //Si la velocidad vertical es mayor a 0 (Significa que el personaje esta cayendo)
{
 vspeed = -6 //Le damos velocidad vertical negativa para que se produzca el efecto de rebote sobre el enemigo, el tipico de los plataforma.
 with other //Al otro objeto (El enemigo)
 {
  instance_destroy() //Destruirlo
 }
}
else //Si no. Osea, si no estamos cayendo, osea le pegamos de costado, de abajo, etc.
{
 Muerte() //Se ejecuta el script que matara a nuestro personaje.
}



Para que le tengas que pegar varias veces, puedes asignarle una variable en el evento "Create" del enemigo, que sea igual a 2, 3, etc. El numero de veces que quieras que el jugador que le tenga que pegar para que se muera.

De aqui va a variar que pasa cuando le pegas la primera vez, si entra en un estado "invencible" (El tipico que titila el sprite y que no le puedes pegar) o que le puedas seguir dando toques rebotando encima. Y ahi va a depender que mas tienes que hacer.

11
Preguntas y respuestas / Re:ayuda con esto
« en: Mayo 13, 2013, 06:58:48 am »
Mmm por verse lejos te refieres a verse mas pequeño?

image_xscale
image_yscale

Modifica esas dos variables para manejar el tamaño del sprite.

PD: Creo que se entiende mejor diciendo que el objeto lleva al sprite, no al reves, ya que en el room lo que estan son los objetos, que dibujan los sprites. Pero es solo para entendernos.

12
Preguntas y respuestas / Re:¿Algunas preguntas?
« en: Mayo 13, 2013, 03:14:08 am »
Hola Wally!

Por lo que veo, te embarcaste en un proyecto bastante complicado. El primer consejo que te voy a dar, es que para hacer un juego de estas caracteristicas necesitas mucho mas conocimiento, como practica y experiencia. Ya que crear solo un engine bastante completo de este estilo de juego es algo muy complejo.
Pero bueno, igualmente te voy a contestar, pero espero que lo tomes en cuenta, es para ahorrarte las frustraciones que pasamos todos apenas empezamos al no ser capaces de hacer ESE juego que teniamos en mente, pero con esfuerzo siempre se llega :D

Paso a responderte tus dudas:

1) "¿que un pokemon aparesca aleatoriamente en la hierva?"

Esto va a depender de como lo quieras hacer, si es con un room, seria simplemente asignar a una tecla el cambio del room, dejando como "Persistent" el room en el que estabas, para que nada se cambie. Pero esta es solo una opcion.

2) "¿que un pokemon aparesca aleatoriamente en la hierva?"

Para responderte esto, necesitariamos saber de que forma haces la "base de datos" de los pokemon, pero seguramente lo hagas con arrays, por lo que con un irandom(x) te las puedes arreglar.

3) ¿y que me muestre el nivel de mi pokemon su vida ,tipo de pokemon y la exp que le falta para subir de nivel?

Esto es simplemente graficar una variable:
//draw_text(x,y,text)
//Ejemplo:
draw_text(x,y,"PS: " + string(PS_Pokemon))

No quiero sacarte las ganas de seguir con tu proyecto, pero lee y piensa bien el consejo de hacer otras cosas antes, ya que hay proyectos muy buenos de Pokemon de gente que tiene muchisima experiencia, que le lleva muchisimo tiempo terminarlos bien, ya que, como te dije antes, es algo muy complejo.

Saludos!

13
Preguntas y respuestas / Re:disparo con cañón doble :S
« en: Agosto 30, 2012, 11:25:13 pm »
Creo que si se entiende ahora. Lo que tu quieres hacer es un arma que en la punta tenga dos salida de municiones.
Osea, un arma que dispare, como cualquier otra, pero que un poco mas abajo dispare una segunda municion hacia el mismo destino.

Es eso lo que quieres?

14
Jeje, iba en la Alarm 0 no en la 1 por eso no funcionaba  XD.
Gracias!

Tenes razon! Me equivoque yo diciendote donde iba jaja.

Bien que lo pudiste solucionar!

15
Cambia el alarm1 por esto:

if distance_to_object(Jugador) > 64
{
 vspeed=-2
 alarm[1]=17
}
else
{
 alarm[0]=32
}

Páginas: 1 2 3 ... 51