うっほー!ゴッリラだよ~!
みんなは、tobyfox氏による新作”Deltarune“をプレイした!?まだの人もいると思うから、
内容には触れないでおくけど…
僕の中で、またゲーム開発のモチベーションが上がったんだ!!!
Deltaruneのページはこちら!
さて、今回は時間を空けてプログラムを実行することのできる、
アラームイベントについて解説していくよ!
1. Alarmとは?

Alarmは、GameMaker Studio(以下GMS)に存在しているイベントのひとつなんだ!
現実世界のアラームのように、指定されたフレーム数が経過すると
アラームイベント内のプログラムを実行するんだ!
使用例としては、数秒ごとにインスタンスを生成、クールダウン処理など
いろんな事に使うことができるよ(*’▽’)
また、GMSでは1つのインスタンスにつき、合計12個までアラームを作成できるんだ!
記述法:
1 |
alarm[番号] = フレーム数 |
ここで注意してほしいのは、秒数ではなくフレーム数をセットしている点なんだ!
使用例:
1 |
alarm[0] = 60; |
例えば、この例だと0番目のアラームを60フレーム後に、実行するようにセットしているよ!
画面に1フレーム表示されるごとに値が1つずつ減っていき、0に達したとき
アラームイベントが実行されるんだ!
ゲームのfps(1秒あたりに表示するフレームの数)が60fpsに設定されていた場合は、
1秒後にイベントが実行されるということだね!(デフォルトは30fps)
最近のゲームは大体60fpsに設定されているから、最初に60fpsに変更しておくことをお勧めするよ!
ゲームのfpsを確認/変更する方法: 画面上の歯車マークをクリック → Game frames per second欄に入力

2. アラームの作成法
アラームについて理解したところで、次にアラームを作成してみよう!
まずは、さっき説明した通りゲームのfpsを60に設定しておこう!
設定が出来たら、空のオブジェクトを作成しよう!
オブジェクトが作成出来たら、アラームイベントを作成してみよう!
①Add Eventをクリック → ②Alarmを選択 → ③Alarm 0
すると、こんな風にプログラムを記述する画面が出てくるよ!

今回は、アラームが呼び出された時、Output欄にメッセージを表示させてみよう!
1 2 3 |
"]//実行されたときに画面下 //Output欄にメッセージを表示 show_debug_message("アラームイベントが実行されたよ!"); |
次に、Create Eventを追加しよう!

①Add Eventをクリック! → ②Createを選択
Create Event内でAlarmを呼び出してみよう!
インスタンスが生成されてから60フレーム後、つまり1秒後にアラームイベントが呼び出されるよ!

それじゃあ、実際にゲームを起動してイベントが実行されるか確認してみよう!
オブジェクトのインスタンスをRoom内に配置 → F5または▷マークをクリック


ゲームが起動したら、画面下のOutput欄を見つめてみよう( ・_・)ジッ
しばらくすると、さっき設定したメッセージが表示されるよ!!

この例だけだと、他のイベントの違いがはっきりしないから、
もうちょっとアラームイベントを実感できるように、プログラムを足してみよう!
Alarm0イベントを開いて、以下のコードを追加してみて!
1 2 3 4 |
//実行されたときに画面下 //Output欄にメッセージを表示 show_debug_message("アラームイベントが実行されたよ!"); alarm[0] = 120; //これを追加してね! |
これは、アラームイベント内でアラームをセットしているんだ!
こうすることで、アラームをループさせることができるよ!
ゲームを起動して、もう一度Output欄を確認してみよう!
二秒毎にメッセージが表示されていたら成功だよ!

まとめ
お疲れ様!これでアラームについての説明はおしまいだよ!
アラームを使うことで、時間を空けてイベントを実行することができるんだ!
現実世界のアラームぐらい役に立つから、しっかりとおさえておこう!
この記事を通して、少しでも皆が新しいことを学ぶことができたら嬉しいな(*’▽’)
質問があればいつでも@hellomanakiで待ってるよ!
また次の記事で会えることを楽しみにしているよ!
