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

41
Preguntas y respuestas / como uso los argument?
Marzo 21, 2015, 11:49:16 PM
hago un script pero tambien necesito saber como utilizar los argument osea como utilizarlos, nadamas pongo algo como esto
draw_text(x,y,string(argument0));
o tengo que definirla o alguna otra cosa?
42
Preguntas y respuestas / Efectos de boton
Marzo 21, 2015, 04:19:10 PM
quiero que cuando el mouse entre al boton se achique y si lo clickeo se achique mas y cuando saque el mouse de allí se ponga como estaba  ;D
43
quiero hacer que mi player se deslize pero no logro hacerlo, he hecho esto:

//Left, Right and Slide movements.
if(skey && rkey && slide == false || skey && lkey && slide == false)
{
    slide = true;
}
if(slide == true)
{
    hsp = sign(hsp) * slidespeed;
    alarm[0] = 5;
    sprite_index = spr_player_slide;
}
if(rkey && slide == false)
{
    hsp = movespeed;
    image_xscale = 1;
}
if(rkey && place_meeting(x,y+1,oSolid) && slide == false)
{
    sprite_index = sPlayer_run;
    image_speed = .2
} else if(!place_meeting(x,y+1,oSolid))
{
    sprite_index = sPlayer_Jump;
} else if(!rkey && !lkey && place_meeting(x,y+1,oSolid)){
    sprite_index=sPlayer_idle
}
if(lkey && slide == false)
{
    hsp = -movespeed;
    image_xscale = -1;
}
if(lkey && place_meeting(x,y+1,oSolid) && slide == false)
{
    sprite_index = sPlayer_run;
    image_speed = .2
} else if(!place_meeting(x,y+1,oSolid))
{
    sprite_index = sPlayer_Jump;
} else if(!rkey && !lkey && place_meeting(x,y+1,oSolid)){
    sprite_index=sPlayer_idle
}
if(!rkey && !lkey && slide == false || rkey && lkey && slide == false)
{
    hsp= 0;
}


todo sirve bien, hasta que llega el momento donde ya el alarm toca darle slide a falso pero sigue moviendose hacia un lado y cuando aprietas una tecla como ASDW aunque este en falso daña la animacion de slide y quiero arreglar esas dos cosas y ya no encuentro mas como resolverlo

gracias de antemano.


EDITO:

ahora el codigo lo intente asi y es igual.

if(skey && rkey && sprite_index != spr_player_slide || skey && lkey && sprite_index != spr_player_slide)
{
    slide = true;
}
if(slide == true)
{
    hsp = sign(hsp) * slidespeed;
    alarm[0] = 5;
    sprite_index = spr_player_slide;
}
if(rkey && sprite_index != spr_player_slide)
{
    hsp = movespeed;
    image_xscale = 1;
}
if(rkey && place_meeting(x,y+1,oSolid) && sprite_index != spr_player_slide)
{
    sprite_index = sPlayer_run;
    image_speed = .2
} else if(!place_meeting(x,y+1,oSolid))
{
    sprite_index = sPlayer_Jump;
} else if(!rkey && !lkey && place_meeting(x,y+1,oSolid)){
    sprite_index=sPlayer_idle
}
if(lkey && sprite_index != spr_player_slide)
{
    hsp = -movespeed;
    image_xscale = -1;
}
if(lkey && place_meeting(x,y+1,oSolid) && sprite_index != spr_player_slide)
{
    sprite_index = sPlayer_run;
    image_speed = .2
} else if(!place_meeting(x,y+1,oSolid))
{
    sprite_index = sPlayer_Jump;
} else if(!rkey && !lkey && place_meeting(x,y+1,oSolid)){
    sprite_index=sPlayer_idle
}
if(!rkey && !lkey && slide == false || rkey && lkey && slide == false)
{
    hsp= 0;
}
44
lei esto en el glosario

Citarmove_contact_solid(dir,maxdist) Mover la instancia en la dirección dir hasta que haya contacto con un objeto sólido. Si no hay collision en la posición actual, la instancia es colocada justo antes de donde ocurre una colisión. Si ya hay una colisión en la posición actual, la instancia no se mueve. Puedes especificar la distancia máxima a mover la instancia maxdist (emplea un número negativo para indicar distancia arbitraria).

aca hay un script de colision top down perfecta pero para entenderlo necesito saber que es lo que pregunto, creo saber pero quiero asegurarme.

{
    var key_left = keyboard_check(vk_left);
    var key_right = keyboard_check(vk_right);
    var key_down = keyboard_check(vk_down);
    var key_up = keyboard_check(vk_up);
    ////////////////////////////////////////
    if(global.gamepause == false){
    //Movimientos y animaciones
        if(key_left )
        {
            hspeed = -5;
        } else if(key_right)
        {
            hspeed = 5
        } else hspeed = 0;
       
        if(key_up)
        {
            vspeed = -5;
        } else if(key_down)
        {
            vspeed = 5;
        } else vspeed = 0;
       
        if hspeed!=0
        if !place_free(x+hspeed,y)
        {
            if hspeed>0 move_contact_solid(0,hspeed)
            if hspeed<0 move_contact_solid(180,-hspeed)
            hspeed=0
        }

        if vspeed!=0
        if !place_free(x+hspeed,y+vspeed)
        {
            if vspeed>0 move_contact_solid(270,vspeed)
            if vspeed<0 move_contact_solid(90,-vspeed)
            vspeed=0
        }

    }
}
45
hola no se tanto de GML pero pregunto igual asi aprendo  :D como hago transiciones, utilizaria sleep pero ya no funciona 7_7
46
yo se para que sirve cada una pero me podrian ayudar para abrir mas mi mente  ;D
47
Hola quiero hacer lo que esta en el titulo ya que quiero hacer mi plataformero y que tenga un bloque que lo impulse hacia un lado, asi serviria para llegar a diferentes lugares o que si toca ese bloque lo mande hacia las trampas, etc...

CREATE de mi plataformero
vsp = 0;
hsp = 0;
movespeed = 7;
jumpspeed = 12;
impspeed = 15;
grav = 0.5


STEP de mi plataformero
///Player Input.
var key_right = keyboard_check(vk_right);
var key_left = keyboard_check(vk_left);
var key_jump = keyboard_check(vk_up);
/////////////////////////////////////////
if(place_meeting(x,y+1,obj_solid))
{
    vsp = 0;
    if(key_jump)
    {
        vsp = -jumpspeed;
    }
}
else
{
    if(vsp < 10)
    {
        vsp += grav;
    }
}

if(key_right)
{
    hsp = movespeed;
}
if(key_left)
{
    hsp = -movespeed;
}

if(!key_right && !key_left || key_right && key_left)
{
    hsp = 0;
}

if(place_meeting(x+hsp,y,obj_solid))
{
    while(!place_meeting(x+sign(hsp),y,obj_solid))
    {
        x += sign(hsp);
    }
    hsp = 0;
}
x += hsp;
if(place_meeting(x,y+vsp,obj_solid))
{
    while(!place_meeting(x,y+sign(vsp),obj_solid))
    {
        y += sign(vsp);
    }
    vsp = 0;
}
y += vsp;


intente con

if(place_meeting(x,y,obj_burst_right)){
   hsp = impspeed;
}
48
Quiero de que mientras el personaje salte, mueva el angulo de la imagen, como en the impossible game o geometry dash, pero quiero que siempre caiga bien, no importa si no hace la vuelta completa, todo vale :p

codigo de plataformas
///Player Input.
var key_right = keyboard_check(vk_right);
var key_left = keyboard_check(vk_left);
var key_jump = keyboard_check(vk_up);
/////////////////////////////////////////
if(place_meeting(x,y+1,obj_solid))
{
    vsp = 0;
    if(key_jump)
    {
        vsp = -jumpspeed;
    }
}
else
{
    if(vsp < 10)
    {
        vsp += grav;
    }
}

if(key_right)
{
    hsp = movespeed;
}
if(key_left)
{
    hsp = -movespeed;
}

if(!key_right && !key_left || key_right && key_left)
{
    hsp = 0;
}

if(place_meeting(x+hsp,y,obj_solid))
{
    while(!place_meeting(x+sign(hsp),y,obj_solid))
    {
        x += sign(hsp);
    }
    hsp = 0;
}
x += hsp;
if(place_meeting(x,y+vsp,obj_solid))
{
    while(!place_meeting(x,y+sign(vsp),obj_solid))
    {
        y += sign(vsp);
    }
    vsp = 0;
}
y += vsp;


si ponen cosas raritas enseñenme asi aprendo :v
49
quiero hacer un juego pero necesito hacer un movimiento que no se como hacer para hacer esto:

Para esquivar las plataformas tienes que moverte a los lados, si te mueves a los lados cuando pegues con la pared horizontalmente, porque si pegas verticalmente te mueres, devuelve la velocidad pero menor, todo bien todo eso lo se hacer pero quiero de que cuando la coordenada X sea la inicial se quede en hspeed = 0 pero que pueda moverse, aca esto es lo que tengo hasta ahora.

if(keyboard_check_pressed(vk_left) && moverse == true)
{
    hspeed = -spd;
    moverse = false
}
if(keyboard_check_pressed(vk_right) && moverse == true)
{
    hspeed = spd;
    moverse = false
}

if(place_meeting(x-4,y,obj_wall))
{
    hspeed = returnspd;
}
if(place_meeting(x+4,y,obj_wall))
{
    hspeed = -returnspd;
}


Solo me falta lo que dije de que si queda en su coordenada inicial que es como en el medio que alli debe parar y le das a un boton denuevo para ir a un lado y esquivarlo, ayudenme pls.
50
Voy a hacer un juego y lo que quiero hacer es esto:

Cuando el objeto player (es un cubo 32x32) toque con la pared horizontalmente (si va a la pared va en una velocidad mayor) cuando toque el objeto wall horizontalmente no vertical tiene que revertir la velocidad pero que sea menor, y que cuando este en su posicion inicial con la coordenada X la variable con la que se mueve a los lados es true y que pare de moverse, y así hace para esquivar, el problema es que no se como hacer ya que yo tengo una variable en el create llamada previousx que tiene el valor de la coordenada X inicial ya que ahi es edonde tiene que estar, el problema es que si pongo

if(x == previousx){hspeed = 0;}

obviamente a lo que empieze no se va a poder mover y no se como hacer, este es el codigo:

if(keyboard_check_pressed(vk_right))
{
    hspeed = spd
}

if(keyboard_check_pressed(vk_left))
{
    hspeed = -spd
}

if(place_meeting(x-4,y,obj_wall))
{
    hspeed = returnspd;
}
if(place_meeting(x+4,y,obj_wall))
{
    hspeed = -returnspd;
}
51
No se es que siempre he visto esa condicion y no la entiendo ya que if es si en español, se entiende como while, es mientras, else es si no pero for no entiendo nadaaaa
52
Preguntas y respuestas / Que son los surfaces?
Febrero 28, 2015, 10:44:57 PM
Quiero que me respondan ustedes de que es eso exactamente.
53
lo del titulo

no me quiere servir el modulo de html5
54
Preguntas y respuestas / Como hago transiciones?
Febrero 28, 2015, 08:08:02 PM
lo del titulo :c cualquier tipo de transicion de room me serviria
55
Hice un juego y quiero cargar y guardar el highscore, hago esto pero no me funciona

Este es un script echo una room antes para tener la variable de bestscr y cuando se reinicie la room que no se reinicie el highscore.

global.bestscr = 0;
ini_open("data.ini");
global.bestscr = ini_read_real("save","bestscr",0);
ini_close();


aca tambien lo guardo pero en este si me da error

if(global.scr > global.bestscr)//Si el score que iso el player es mayor al mejor
{
    global.bestscr = global.scr;//Sobreescribirlo
    ini_open("data.ini");
    ini_write_real(save,bestscr,global.bestscr);
    ini_close();
}


aca pruebo el juego y cuando se tendria que guardar (aca lo probaba desde el programa)

############################################################################################
FATAL ERROR in
action number 1
of Alarm Event for alarm 0
for object obj_manager:

Push :: Execution Error - Variable Get -1.bestscr(100007, 0)
at gml_Object_obj_manager_Alarm_0 (line 7) -     ini_write_real(save,bestscr,global.bestscr);
############################################################################################


y aca ya compilado


___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Alarm Event for alarm 0
for object obj_manager:

Push :: Execution Error - Variable Get -1.bestscr(100007, 0)
at gml_Object_obj_manager_Alarm_0 (line -1) - <unknown source line>
############################################################################################


el problema que yo entiendo es que no lee la variable bestscr que esta almacenada en el .ini

esto es lo unico que hay en el archivo .ini

[save]
bestscr = 0
56
quiero saber como hacer de que haga todo esto

direction = image_angle;
if(keyboard_check(vk_left))
{
    image_angle += 3.5;
}
else if(keyboard_check(vk_right))
{
    image_angle -= 3.5;
}
if(keyboard_check(vk_up))
{
    speed = 5;
} else {
    speed = 0;
}


pero que todo lo haga suave y que el image angle cuando le des a un lado sea suave su movimiento, osea de que no pare asi todo feo si no suavemente igual que con la velocidad y eso.
57
Hola, no entiendo por que me da un error de que siempre cuando hago un top down shooter o lo que sea siendo top down, tenga un error donde un objeto no colisione bien con el otro objeto.

if(keyboard_check(ord("A")))
{
    x -= 3;
}
if(keyboard_check(ord("D")))
{
    x += 3;
}
if(keyboard_check(ord("W")))
{
    y -= 3;
}
if(keyboard_check(ord("S")))
{
    y += 3;
}


mi juego sera un juego parecido a the binding of isaac, osea que tendre que subir la velocidad y todo eso entonces no necesito problemas cuando suba la velocidad con una futura variable

Ya he probado con place_free(place_empty) move_contact_solid y no funciona, colisiona y se queda pegado y despues de que no colisiona bien queda como medio adentro de el solido y no colisiona bien nunca, si le quito la opcion de solido a el objeto wall no colisiona tampoco.
58
He visto que con ello puedes hacer iluminacion basica y avanzada, hacer programas de dibujo y todo eso, pero no se nisiquiera que son los surfaces, si me podrian dar un tuto o algo para poder hacer iluminacion basica que me enseñe bien o algo asi como para poder dibujar se los agradeceria
59
quiero saber como obtener ideas, parece una pregunta tonta pero quien no se ha quedado sin ideas en este plante(a no ser que seas illuminati) unas recomendaciones me ayudarian !!
60
Preguntas y respuestas / IA PONG?
Febrero 23, 2015, 08:42:03 PM
Quiero hacer una AI como la del pong clasico.