00 |
arrow_move |
【方向キー(JOY1)入力移動※8方向移動※1Player用】
@移動速度(ドット/1フレーム) A移動速度が格納された変数ID |
…ここで何をしてるかというと、
キャラを動かすための設定 です。
「@移動速度(ドット/1フレーム)」 とあるように、
左の欄には 移動させるキャラの移動速度を指定します。
ということなので、左の欄には「4」という数値を入れました。
これでキャラは「1フレームあたり4ドット進む」という速度で
移動するようになりました。
01 からのスクリプトは入れなくても
この arrow_move だけでとりあえずキャラは動きます。
|
01 |
char_move |
【イベント動作計算※この機能を使用するときは、 イベントの動作方法を「スクリプト実行(計算なし)」に設定する】 |
移動値をキャラクターへ反映させるイベントです。
コレを入れることでボタンを押した時に
キャラの移動がワンテンポ遅れるのを防ぎます。
コレが無くても動きますが、その時は
イベントの動作方法を「スクリプト実行」に戻しておくこと。
|
02 |
in_screen |
【イベント移動制御※移動範囲を画面内に固定する】
@位置情報を参照する描画イベントID
A横方向にはみ出てもよいサイズ(ドット単位)
B縦方向にはみ出てもよいサイズ(ドット単位) |
これは 指定の描画イベントでのキャラが
画面からはみ出さないように する為のものです。
「@位置情報を参照する描画イベントID」 とあり、
はみ出させたくないのは ID5 の「自機描画イベント」なので
最初の欄には「5」を入れました。
ここで もし自機描画イベントが ID3 に作ってあったら「3」を入れます。
A と B についてですが、
「はみ出てもよいサイズ(ドット単位)」 とあるので
何も入れなくて(0のままで)OKです。
AとBの数値を 0以上にしてしまったら
またキャラがはみ出てしまいますからね。
|
03 |
hit_evtid |
【衝突判定(戻り値:合計衝突数)
※相手側に自分のイベントIDと衝突方向(1=上,2=右,4=下,8=左→ビットフラグ)を格納】
@衝突判定開始イベントID A衝突判定終了イベントID |
イベントを起こさせるのに どのキャラと
接触した時にするかを設定します。
ここでは「敵キャラと接触した時」に
何かが起こるように指定するので
左の衝突判定開始イベントID は 「51(最初に設置した敵)」
右の衝突判定終了イベントID は 「55(最後に設置した敵)」
…を それぞれ入れました。
「何かが起こる」 という、「何か」は後の指定で色々変わります。
ここで注意しなければいけないのは
敵キャラのID の間に他のキャラを挟まないことですね。
もし ID53 に敵以外のキャラを入れてしまったら、
そのキャラにも「何か」が起こってしまうようになります。
|
04 |
play_audio |
【オーディオファイルの再生】
@再生するオーディオID
A再生するオーディオIDの格納された変数ID
Bループさせるか?(0=ループしない,1=ループする) |
ここで ID0 にある音楽(MP3)を再生しています。
組み込む位置はここで良かったのかどうか
問題が残りますが、とりあえず再生はされているようです。
|
05 | then |
【指定変数が0かそれ以外かにて分岐】
@判断用変数ID
A真(0以外)の時の分岐先ID
B偽(0)の時の分岐先ID ※0(未指定)の時は、次の行へ分岐 |
場合分け(分岐)の関数です。
3番目の hit_evtid に「戻り値」とあったので、
「@判断用変数ID」 は 【cRetVal((i)前スクリプトの戻り値)】を入れます。
「@判断用変数ID」 が 0以外の数値の時は
「A真(0以外)の時の分岐先ID」 で指定している10番目(「Kill」)へジャンプし、
このスクリプトを実行させたキャラをDead状態にします。
「B偽(0)の時の分岐先ID」は 0の時に
6番目(次の「then」関数)にジャンプするように指定しました。
|
06 | then |
【指定変数が0かそれ以外かにて分岐】
@判断用変数ID
A真(0以外)の時の分岐先ID
B偽(0)の時の分岐先ID ※0(未指定)の時は、次の行へ分岐 |
同上の関数。
上のthenで「戻り値」が 0の時にコチラのthenを処理するようになってます。
これは弾を撃たせるために入れてあるので
「@判断用変数ID」 に 【sKJB1Sh((i)シフトキー&Joy1Btn1)】を入れてあります。
0 が押されていない場合、1 が押された場合(参照のみ)です。
「A真(0以外)の時の分岐先ID」 で Shift(またはジョイスティックのボタン1)が
押された場合 25番目(「then」関数)にジャンプします。
「B偽(0)の時の分岐先ID」 では
次の「let」を実行し終わるようになってます。
|
07 | let |
【変数へ代入】
@代入先変数ID A代入元変数ID
B代入する数値 C代入先イベントID(0:このイベント) |
「【l0】(i)カウンタ用変数(0)」 と 「【g0】(i)グローバル変数(0)」 に
それぞれ 0という値を入れているようですが…。
「C代入先イベントID(0:このイベント)」 に「90」と入っていて、
90番目は 確か「スコア」だったような…。
多分コレ スコアの初期化 をしているのでは…?
|
08 | break |
【このスクリプトからぬける】
スクリプトの実行を 一旦止めるものです。
入れてないと全部のスクリプトを実行してしまいますよ。 |
|
10 | kill |
【イベントをDEAD状態にする。
※DEAD状態にするとスクリプト実行されなくなります。】
@キル先イベントID(0:このイベント 1〜:指定イベント)
A初期化予約するか?(0=初期化予約しない,1=初期化予約する)
※初期化予約すると次回スクリプト実行時に初期化されます。
Bキル先イベントIDの格納された変数ID |
05 の「then」で、敵キャラと接触した時に
ここへジャンプしてくるようになっていて、
この「kill」を実行すると DEAD状態 になるとのことです。
つまり 「敵と接触したら「kill」を実行してDead状態になる」ということですね。
|
11 | play_sound |
【wav再生】
@再生するサウンドID
A再生するサウンドIDの格納された変数ID
Bループさせるか?(0=ループしない,1=ループする |
ID0 にある効果音(爆発音)を鳴らします。
|
12 | act_sleep |
【SLEEP状態のイベントを検索しACTIVE状態にする】
@検索開始イベントID A検索終了イベントID Bアクティブにする数
Cこのイベントの位置情報を代入するか?
(0=しない 1=する 2=加速値も代入 3=中心位置 4=中心位置で加速値も代入)
|
46番の 「爆発キャラクター」をACTIVE状態にして 実行させます。
|
13 | break |
【このスクリプトからぬける】
スクリプトの実行を 一旦止めるものです。
入れてないと全部のスクリプトを実行してしまいますよ。 |
… … …
スミマセン…、25〜29番は また今度ということで…。
|