最終更新:ID:wkChn71Evg 2011年03月03日(木) 05:33:42履歴
配列変数 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]に入るインスタンスに記述しないでください
上記を宣言したインスタンスのステップイベント等に以下を記述
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 の += を -= に
たぶん役に立つ?
コメントをかく