ゲーム向けの素材の作り方やノウハウを補完していこうってwikiです。フリー素材もあるよ。


配列変数 obj に徐々に不透明化させたいインスタンスIDを入れておく
配列の要素数を グローバル変数 obj_fade_max_count にいれておく
グローバル変数 fade_chk に obj_fade_max_count をいれておく
インスタンス obj[0~2] の 変数fade_chk に false をいれておく

下記の処理はobj[0~2]にそれぞれのインスタンスIDが入っていて
obj_fade_max_count = 3
の場合の処理です
※※obj[0~2]に入るインスタンスに記述しないでください

上記全てを処理するコード[Create Event内にて]


上記を宣言したインスタンスのステップイベント等に以下を記述


if(global.fade_chk<global.obj_fade_max_count){ //fade_chkがobj_fade_max_count未満だったら
    for(i=0;i<global.obj_fade_max_count;i+=1){ //obj_fade_max_count回繰り返し
        if(obj[i].fade_chk){ //obj[i].fade_chkがtrueだったら
            obj[i].image_alpha += 0.1; //obj[i]を徐々に不透明化
            if(obj[i].image_alpha>=1){ //obj[i]が完全に不透明になったら
                global.fade_chk += 1; //グローバル変数 fade_chkを+1
                obj[i].fade_chk = false; //obj[i]の変数 fade_chk にfalseを格納
            }
        }
    }
}

if(keyboard_check_pressed(vk_anykey)){ //何かキーボードのキーが押されたら
    switch(keyboard_key){ //押されたキーは何か?
        case ord("A"): // Aが押されていたら
            if(!obj[0].fade_chk) global.fade_chk-=1; //obj[0]の変数 fade_chk が false なら、グローバル変数 fade_chk を-1
            obj[0].fade_chk = true; //obj[0]の変数 fade_chk に true を格納
            obj[0].image_alpha=0; //obj[0]を完全に不透明に
            break; //switchを抜ける ※breakしていないと、ここより下の部分が実行されてしまう
        case ord("S"): // Sが押されていたら、以下同じ処理
            if(!obj[1].fade_chk) global.fade_chk-=1;
            obj[1].fade_chk = true;
            obj[1].image_alpha=0;
            break;
        case ord("D"): // Dが押されていたら、以下同じ処理
            if(!obj[2].fade_chk) global.fade_chk-=1;
            obj[2].fade_chk = true;
            obj[2].image_alpha=0;
            break;
    }
}

キーボードのA,S,Dを押すと、対応するインスタンスが透明になり
徐々に不透明になります

今回の場合は
obj[0-2]に指定した全てのインスタンスが完全不透明の場合
徐々に不透明化させる処理を飛ばすようにしています

もっと不透明化させるのを遅くさせたい場合は
obj[i].image_alpha += 0.1 の 0.1 を小さく

逆に徐々に透明化させたい場合は
obj[i].image_alpha += 0.1 の += を -= に



たぶん役に立つ?

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

どなたでも編集できます