1

マリオゲームを作ろうと思っていますが、アップキーを押しているとキャラが上がっていきます。一定の高さで戻ってくるマリオゲームとは違います。Gmlの学習を始めたばかりです。ジャンプと移動のために作成したスクリプトをアップロードしました。hsp 変数と vsp 変数は、それぞれ水平速度と垂直速度を表します。grav は重力を設定します。

{

    var hsp;
    var vsp;
    var grav;
    var grounded;
    hsp = 0;
    vsp = 0;
    grav = 5;
    grounded = 0;

    key_right = keyboard_check_direct(vk_right); 
    key_left = keyboard_check_direct(vk_left);
    key_up = keyboard_check_direct(vk_up);

    if(key_right)
    {
        if(hsp < 3)
        {
            hsp += 5;
        }
    }

    if(key_left)
    {

        if(hsp > -3)
        {
            hsp -= 5;
        }
    }
    if(key_up)
    {
        vsp = -20;

    }
    vsp += grav;

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

    x += hsp;

    if(place_meeting(x, y + vsp, obj_wall))
    {
        while(!place_meeting(x, y + sign(vsp), obj_wall))
        {
            y += sign(vsp);
        }
        if(sign(vsp) == 1)
        {
            grounded = 1;
        }
        vsp = 0;
    }
    else
        grounded = 0;



    y += vsp;
}
4

1 に答える 1