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.

Temas - Monigote

1
Hola. He mirado este tutorial: http://www.comunidadgm.org/index.php?topic=10703.0 que explica c?mo cargar un background externo y activarlo. Pero me gustar?a saber si se puede cargar desde una carpeta que se encuentre dentro de la carpeta donde est? el proyecto, y c?mo hacerlo.
Es decir, si yo tengo por ejemplo: Nueva carpeta>{Proyecto.gmk, carpetafondos>{fondo1.png}}  , ?c?mo podr?a cargar ese fondo1.png?

Gracias de antemano.
2
Hola. Pues el t?tulo lo dice b?sicamente todo: no s? c?mo darle aleatoriedad al punto donde aparece un objeto en la partida y me gustar?a saber c?mo hacerlo. Lo siento si la duda es muy noob. :-[

Gracias de antemano :).
3
Hola. Me preguntaba si se pod?an cargar los fondos en un momento determinado (antes de una gran room por ejemplo) para agilizar los procesos de carga.
4
Hola. Tengo dos bloques: el bloque A, que para el jugador 1 es un bloque s?lido y para el jugador 2 es como si no hubiera nada; y el bloque B que para el jugador 1 es como si no hubiera nada y para el jugador 2 es s?lido. El caso es que lo tengo configurado de manera que cuando el jugador 1 colisiona con el bloque A, ?ste se vuelve s?lido, y cuando llega el otro jugador y lo toca, en principio es s?lido, lo cual hace que haya un peque?o atasco, hasta que lo vuelve no s?lido y todo funciona correctamente (ocurre lo mismo con el otro bloque).

Colisi?n jugador 1 con bloque A
other.solid=true
move_contact_solid(direction, 12);
if not place_free(x,y+1){
vspeed=0;
doblesalto = 2;}
if not place_free(x,y-1){
vspeed=0}
if not place_free(x+1,y){
hspeed=0}
if not place_free(x-1,y){
hspeed=0}

Colisi?n jugador 1 con bloque B
other.solid=false

Mi pregunta es si hay alguna otra forma de programar esto para que no haya ese peque?o atasco. Creo que se puede usar la sentencia switch, pero no la domino todav?a muy bien...

Saludos y gracias de antemano.
5
Preguntas y respuestas / Elegir aleatoriamente una acci?n
Septiembre 11, 2010, 10:18:47 AM
Hola. Tengo una duda (quiz?s un poco tonta) y es que no s? c?mo hacer que un objeto elija al azar entre una serie de acciones que le ponga. S? que la acci?n 'random()' elige un n?mero al azar y te lo devuelve en forma de variable, pero no s? como hacer que elija una acci?n entre otras de forma aleatoria.

Gracias de antemano. :)
6
Hola. Estoy haciendo un juego de plataformas a dos jugadores, cada uno con su view, y como Game Maker no permite que haya dos rooms a la vez lo que he hecho ha sido hacer un background muy grande, con las distintas dependencias del nivel en cuesti?n.
La cosa es que cuando el personaje se aproxima al final de un ?rea, la view no se detiene y permite ver la otra ?rea, causando un mal efecto.

He tenido que separar mucho las ?reas y poner bloques para que el personaje no avance y no las vea, pero preferir?a saber si se puede hacer que la view no siga avanzando(como cuando choca con el borde de la room) para evitarme estos problemas y hacer los backgrounds lo menos extensos posible para ahorrarme tiempo de carga.

Gracias de antemano. :)
7
Hola. Estoy haciendo un juego de plataformas en el que dos jugadores pueden jugar simult?neamente, cada uno en una view. Tengo un objeto que para uno es como si no hubiera nada y para el otro es un bloque s?lido, pero no s? c?mo hacer que para la view del primer personaje (para el que el bloque es como si no hubiera nada) el bloque se vea semitransparente y para la view del otro no.

?Alguien sabe c?mo hacer esto?

Gracias de antemano :)
8
Hola. Estoy haciendo un juego de plataformas y en ?l tengo unas platafromas solidas, y otras que puedes atravesar desde debajo (jump-through). El caso es que los cambios de sprite en el suelo s?lido los hace correctamente, y en la plataforma jump-through no, se queda en la animacion de saltando y no s? por qu?. Hice un script con varios argumentos para especificar los cambios de sprite ya que de tantos errores que me sal?an me era m?s c?modo hacer un script y poner todos los cambios ahi.

Aqui los eventos del personaje:
Create:
//Variable para saber a qu? direccion miran
direccion=1
//Variable para saber si est?s en el aire
aire=0
//Variable para saber si nadas
nadando=0
//Variable para saber si corren mucho
atodapastilla=0
//Variable para saber cu?ndo puedes realizar el doble salto
doblesalto=2
//Variable para saber si est?s golpeado o no. Si lo est?s, normalmente el resto de eventos no te afectar?n
estado=0


Step:
//Activar la gravedad
if(place_free(x,y+1))
{
    gravity = 0.5;
}
else{
gravity=0
}
//L?mite de la velocidad vertical. Evita que el objeto caiga a una velocidad cada vez mayor
if (vspeed >= 12)
{
    vspeed = 12;
}
//Comprobar que est? en el suelo o en el aire
if gravity=0
{
    aire=0
}
else
{
    aire=1
}
if global.saludpersonaje>0{
//Si est?s cayendo sin remedio y aun te queda salud es mejor que dejes de estar en estado golpeado
if vspeed=12{
estado=0

End Step: (Dejo el script ya que en este evento s?lo est? la acci?n de ejecutarlo)
//argument0=personajeestaticoderecha, argument1=estaticoizquierda,argument2=corriendo derecha
//argument3=corriendoizquierda, argument4=corriendomuchoderecha, argument5=corriendomuchoizquierda
//argument6=saltandoderecha, argument7=saltandoizquierda, argument8=nadandoderecha,
//argument9=nadandoizquierda, argument10=escalando, argument11=golpeadoderecha, argument12=golpeadoizquierda
if estado=0{

if place_meeting(x,y,obj_cuerda){
sprite_index=argument10;
if speed=0{image_speed=0};
if not speed=0{image_speed=1};}

else{
if nadando=1{
if xprevious<x{sprite_index=argument8}
if xprevious>x{sprite_index=argument9}}

else{
if aire=0{
if speed=0 and direccion=1{sprite_index=argument0}
if speed=0 and direccion=2{sprite_index=argument1}
if xprevious<x and atodapastilla=0{sprite_index=argument2}
if xprevious>x and atodapastilla=0{sprite_index=argument3}
if xprevious<x and atodapastilla=1{sprite_index=argument4}
if xprevious>x and atodapastilla=1{sprite_index=argument5}}
if aire=1{
if xprevious<x{sprite_index=argument6}
if xprevious>x{sprite_index=argument7}
if xprevious=x and sprite_index=argument0{sprite_index=argument6}
if xprevious=x and sprite_index=argument1{sprite_index=argument7}
}
}
}
}
if estado=1{
if xprevious<x{sprite_index=argument12}
if xprevious>x{sprite_index=argument11}}


Colision con la plataforma jump through:
if vspeed>0&&yprevious+(sprite_height-sprite_yoffset)<=other.y+1
    {
    gravity=0;
    vspeed=0;
    y=other.y-(sprite_height-sprite_yoffset);
    doblesalto=2;
    if estado=1{
    estado=0}
    else{}
    }


Y eso es todo. El personaje se queda en el sprite de saltando, cambia de izquierda a derecha cuando se mueve en dichas direcciones, pero no cambia ni al sprite de est?tico ni al de andando (o corriendo, como pone en el script).

No se me ocurre qu? puede estar mal, ?alguien me echa un cable?

Gracias de antemano :)
9
Preguntas y respuestas / Plataformas estilo smash
Agosto 02, 2010, 04:27:50 PM
Pues eso. Estoy haciendo un juego de plataformas y no se me ocurre c?mo hacer que en ciertas plataformas el personaje al saltar las atraviese, y al caer sea un suelo normal. A?n me estoy iniciando en GML y no s? qu? funci?n usar.

?Alguien puede echarme una mano? :-[
10
Hola. Me gustar?a saber c?mo puedo hacer que mi personaje (de un juego de plataformas) al entrar en contacto con un enemigo haga como una especie de 'rebote' y salga ligeramente despedido en direccion contraria y hacia arriba. He probado con esto://Si el personaje est? yendo hacia la derecha
if direccion=1 and place_free(x-4,y-5){
x-=4;
y-=5;
}
//Si el personaje est? yendo hacia la izquierda
if direccion=2 and place_free(x+4,y-5){
x+=4;
y-=5;
}

Y el caso es que por muy despejado que est? el sitio el personaje no se mueve :o. Disminuye la vida, pero el personaje se queda quieto donde est?.

?C?mo lo hago correctamente? Perd?n si la respuesta es sencilla y mi pregunta muy noob, pero es que me estoy iniciando al GML y cada vez que intento avanzar me quedo bloqueado. :'(
11
Hola. Estoy haciendo un juego de plataformas y no s? qu? he programado mal, pero el caso es que cuando el jugador colisiona con el objeto suelo cuando este est? puesto como una pared y pulsas el boton de saltar y el de moverse a la derecha a la vez, 'escala' la pared y llega arriba sin el menor esfuerzo. He revisado cientos de veces el codigo, cambiado por otros de otros engines e incluso borrado y vuelto a empezar pero no funciona.
Pongo aqu? el c?digo que tiene en los distintos eventos:

Evento Create:
//Variable para saber si est?s en el aire
aire=0
//Variable para saber cu?ndo puedes realizar el doble salto
doblesalto=2
//Variable para saber si est?s golpeado o no. Si lo est?s, el resto de eventos se anulan hasta que te mueves
estado=0


Evento Step:
//Activar la gravedad
if(place_free(x,y+1))
{
   gravity = 0.5;
}
//L?mite de la velocidad vertical. Evita que el objeto caiga a una velocidad cada vez mayor
if (vspeed >= 12)
{
   vspeed = 12;
}
//Comprobar que est? en el suelo o en el aire
if gravity=0
{
   aire=0
}
else
{
   aire=1
}
//Si est?s cayendo sin remedio es mejor que dejes de estar en estado golpeado
if vspeed=12{
estado=0


Evento colision con el suelo:
//Operaciones propias de la colision con un suelo
move_contact_solid(direction, 12);
if not place_free(x,y+1){
gravity=0;
vspeed=0;
doblesalto = 2;}
if not place_free(x,y-1){
vspeed=0}
if not place_free(x+1,y){
hspeed=0}
if not place_free(x-1,y){
hspeed=0}
//Si est?s en estado golpeado pasas a estado normal
if estado=1{
estado=0}
else{}


Evento keyboard left (el de right es igual salvo por el x-=4, que es x+=4):
//Si no est?s en estado golpeado te mueves
if estado=1{}
else{
x-=4;
y+=0;
}


Evento keyboard pressed up:
//Si no est?s en estado golpeado saltas
if estado=1{}
else{
//Saltar
if doblesalto>0{
vspeed=-7;
doblesalto-=1;
}
if doblesalto=0{
}
if doblesalto<0{
}}


Espero que alguien me pueda echar un cable y decirme qu? he puesto mal. :)
12
Hola. Estoy en mitad de un juego de plataformas el cual se puede jugar con dos personajes en pantalla partida, con 2 views diferentes. He intentado que cada personaje tenga su health bar independiente y que se dibuje en la view de cada personaje, pero mis cortos conocimientos de Game Maker no dan m?s de s?, aunque tampoco lo veo muy f?cil que digamos.
?Alguien tiene alguna idea de c?mo realizarlo?

He intentado poniendo esto en el evento draw de la vida de uno de los personajillos: draw_healthbar(xview_x[0],yview_y[0],xview_x[0]+50,yview_y[0]+10,.....

He pensado (y visto en alg?n foro en ingl?s) que poniendo el cero entre corchetes har?a referencia a la view donde debe ubicarse, pero es que ni siquiera reconoce la variable xview_x...

EDIT: Atontado de m?... la variable es view_xview... probar? ma?ana ya que tengo que irme a la cama, si sab?is c?mo poner las dos barras ir com?ntandolo que ma?ana lo miro y os cuento.
13
B?sicamente eso. He probado con instance_nearest poni?ndolo as?:

if instance_nearest=objeto1 {}

Pero no me funciona (seguramente alguno estar? diciendo 'madre m?a...', es natural, soy bastante torpe).

Espero que alguien me pueda echar una manita :).

Gracias de antemano.