じゅんG の Game Blog: 【第3回】エフェクト(一瞬光らせる)が出るセーブブロックを作る/キッド君の生存に応じて特定の動作(音声を流す等)をさせる【アイワナ制作備忘録】

YouTubeにて、アイワナ実況動画を公開しています。

YouTubeにて、アイワナ実況動画を公開しています。

※自作アイワナは、このブログの下部よりダウンロードできます。

2017年10月25日水曜日

【第3回】エフェクト(一瞬光らせる)が出るセーブブロックを作る/キッド君の生存に応じて特定の動作(音声を流す等)をさせる【アイワナ制作備忘録】


【はじめに/注意事項など】
・使用しているGMは、Ver8.1 Liteになります。
・使用しているアイワナエンジンは、I wanna be the engine yuuutu editionです。
・自作アイワナで使用したもののみの掲載となります。
・あくまで私なりのやり方ですので、もちろんもっと簡単な方法もあるかもしれません。参考程度とご認識ください。
・だいたい1記事でメモ2個くらいの掲載で進めていきます。※更新頻度は不定期
・ご質問にも極力お答え致しますが、掲載外の質問にはお答えできません。


【メモNo.5/弾が当たったときにエフェクト(一瞬光らせる)が出るセーブブロックを作る方法】

これも自己流にはなりますが、私は以下(一例)の方法で実現させています。

まず、弾が当たったときに表示させるエフェクトのスプライト(32*32)を作ります。
そして、そのスプライトを用いたオブジェクトのイベントコードを以下のようにします。


・Create内
 image_alpha=0
 stp=0   ///これは任意の変数

・Alarm0内
 image_alpha+=0.1
 if(image_alpha=0.7){
 alarm[1]=1
 stp=1
 }
 if(image_alpha<0.7 && stp=0){   ///0.7→どこまで可視化させるかの値
 alarm[0]=1   ///可視化までのスピード値、上げれば遅くなる
 }

・Alarm1内
 image_alpha-=0.1
 if(image_alpha=0){
 stp=2
 }
 if(image_alpha>0 && stp=1){
 alarm[1]=1   ///透明化までのスピード値、上げれば遅くなる
 }

・Collision(bullet)内
 stp=0
 alarm[0]=1
 with(other){
 instance_destroy()
 }

これで弾が当たった時に予め作ったスプライトが表示され、且つ弾も消えてセーブブロックの役目も果たすというとっても素敵なオブジェクトを作ることができました。




【メモNo.6/キッド君が生きている、若しくは死んでしまった時に限って特定の動作(音声を流す等)をさせる方法】

実用的に平たく言えば、
・キッド君がもし生きていたら次のルームへ移動させる とか、
・キッド君が死んでしまったら、死亡時のオリジナルボイスを流す 等です。

このキッド君が生きて/死んでいたら~という条件式(if)は以下であらわします。

if(instance_exists(player)=0{   ///0は死んでいたら、1は生きていたら
ここに実際の条件を入れます


さて、私なりの方法にはなりますが、例えば「キッド君が死んでしまったら特定の音声を流す」という動作を実現させる場合の方法を書きたいと思います。
まず何某かのスプライト(何でもOK)を用いて、一つのオブジェクトを作ります。

そのオブジェクトのイベントコードを以下のようにします。

・Create内
 image_alpha=0   ///これでオブジェクトを透明にする
 sound_stop(任意のサウンド)   ///リスタートしたときに前音声を止める為
 stp=0   ///任意の変数

・Step内
 if(instance_exists(player)=0 && stp=0){
 sound_play(任意のサウンド)
 stp=1   ///この条件を足さないと音声が新たに再生され続けてしま
 }


これをどこか好きなルームの適当なところへ一つ配置すれば、上記動作を実現させることができます。

では、また不定期に更新していきたいと思います!!

2 件のコメント:

  1. じゅんGさん、質問なのですがスイッチを押したら別のroomのブロックがずっと壊れているようにしたいのですがどうすればできるでしょうか?
    調べてもでてこなくてじゅんGさんに聞くことにしました!!
    迷惑だったらすみません…

    返信削除
    返信
    1. 当方1ヶ月ぶりのブログ確認となり、返信がとんでもなく遅くなってしまい、本当に申し訳ありません。
      いただいた質問の件、解決はまだでしょうか?
      もしまだであれば、私も制作をはなれて暫く経ち、即答できないので、色々と試してみようと思います。

      削除