主人公から5マス先まで弾丸を飛ばすイベントの作り方を紹介します。自作戦闘とは?のページを見て頂いた上で、このページをご覧ください。動作見本用のサンプルデータサンプルのダウンロードは↓をクリックしてください。サンプルのイベント設定状況を見る場合は、ツクールの作品データが入っているフォルダを開いて、その中にサンプルの作品データを入れてください。制作中の作品に使用する場合は、イベントの処理構造を理解した上で自己責任でご利用ください。明らかにコピー&貼り付けの作業に問題があった事になります。弾丸を表示する方法としては、ピクチャーを使ったものの他に、マップイベントを使ったものと戦闘アニメを使ったものがあります。それぞれの特徴をまとめましたので、参考にしてみてください。弾丸の画像サイズの制限が無い。移動方法(直線、カーブ)や移動速度が細かく設定できる。画面スクロールやマップループの対応が難しい。弾丸の画像サイズはマップイベントのグラフィックサイズになる。移動は直線状(縦、横、斜め45度)にしかできない。移動速度はマップイベントの移動速度のみである。イベント設定は比較的楽な方。画面スクロールやマップループも問題なく行える。弾丸の画像サイズは戦闘アニメで表示できるサイズになる。アニメーションの設定なので、弾丸の移動表示などは自由に行える。弾丸の表示に合わせて当たり判定を設定するのが難しい。弾丸の表示が貫通しないようするのが難しい。移動する事ができない。戦闘アニメを表示する専用のマップイベントを準備する必要がある。主人公の弾丸表示に使った時には、敵キャラの表示には使えない。2つ以上の弾丸表示ができないので、連射表示などが難しい。気紛れな空間で公開中のイベント弾丸サンプルにて詳しく紹介しています。画面のスクロールの無い固定画面で弾丸を飛ばすようにします。素材管理のPictureにインポートしてください。名前を付けて画像を保存を選択してパソコン内へ保存し、この画像をインポートして使っても問題ありません。必要に応じてピクチャーの移動を使って、透明度:0%にして表示します。消去する時にはピクチャーの消去を使わずに、ピクチャーの移動で透明度:100%にして消去します。弾丸の発射位置(X位置、Y位置)を設定します。減算8を実行して、少し上の位置(主人公の胸の位置)から弾丸が発射するようにします。弾丸は3発まで発射できるようにします。弾丸を発射する処理と弾丸を移動させる処理は、1つの定期的に並列処理するの中で一緒に処理します。今回のイベントはコモンイベントに作成します。弾丸画像を移動させる方法は2通りあります。◆変数の操作:[0001]代入,主人公の画面X◆変数の操作:[0001]加算,80◆変数の操作:[0002]代入,主人公の画面Y◆変数の操作:[0002]減算,8◆ピクチャーの移動:1,(V[0001],V[0002]),0.3秒と言った感じに設定して、射程となる位置までウェイト0.3秒などで移動させる方法です。◆指定ラベルへ飛ぶ:1番と設定して、数ドット単位で小刻みに移動させていく方法です。◆ピクチャーの移動:1,(V[0001],V[0002]),0.3秒と言った形に、ウェイト0.3秒を設定して移動させていきますが、この方法では、弾丸の移動途中にどの画面位置にいるのかを把握するのが難しくなります。そこで今回のシステムでは、数ドット単位で徐々に移動させていく方法を使います。移動処理を4回実行しますと1マス分の移動距離を進む事になります。☆スイッチ・変数スイッチと変数の番号と使用内容の一覧表です。初期設定が終わったらON→弾丸処理実行。ONの時には弾丸01は移動中。ONの時には弾丸02は移動中。決定キーが押されているかどうかを判断する時に使用。ピクチャー弾丸が移動する距離(射程)を設定。向きに合わせて1回の処理で移動するXの移動量を設定。向きに合わせて1回の処理で移動するYの移動量を設定。弾丸が発射して、次の弾丸が発射するまでの間をカウント。変数[0002:移動距離]以上の値になったら弾丸01を消去。変数[0002:移動距離]以上の値になったら弾丸02を消去。変数[0002:移動距離]以上の値になったら弾丸03を消去。弾丸01のX位置を記憶。弾丸02のX位置を記憶。弾丸03のX位置を記憶。弾丸01のY位置を記憶。弾丸02のY位置を記憶。弾丸03のY位置を記憶。弾丸01の1回のXの移動量を記憶。弾丸02の1回のXの移動量を記憶。弾丸03の1回のXの移動量を記憶。弾丸01の1回のYの移動量を記憶。弾丸02の1回のYの移動量を記憶。弾丸03の1回のYの移動量を記憶。※先に上記の番号の通りにスイッチや変数の名前を付けておくと、この後のイベント設定が楽になります。弾丸関連の弾丸の番号と変数番号の一の位は同じ番号になっています。弾丸2番の設定では、0031番や0053番の変数番号は使いませんので、すぐに設定ミスである事が分かるようになります。主人公の向きに合わせて、以下のように設定します。4弾丸を発射した時には、変数0061〜0073番の弾丸処理用の変数に、この変数0003〜0004番の情報を代入します。右向きの場合は「X+4」と言った形で弾丸の表示位置を移動する事ができます。変数[0002:移動距離]には、弾丸の射程を設定します。移動距離を4にしますと、1マス分(16ドット)の移動になります。◆変数の操作:[0002:移動距離]代入,20と設定しています。☆イベントの作成マップイベントとコモンイベントに1つずつイベントを設定します。■初期設定イベントピクチャー弾丸を使うマップのどこかに、初期設定用のイベントを設定してください。必要な変数の値を初期化する設定を行います。イベントID:1番にしておく事が望ましいです。▼2ページ目イベント出現条件:スイッチ[0001:システム起動]がONイベント開始条件:決定キーが押されたときイベント実行内容の設定は不要です。◆スイッチの操作:[0001:システム起動]をOFFにするを設定してください。■弾丸処理イベント決定キーを押しますと弾丸が発射されて、5マス先まで弾丸が移動するイベントを設定します。キー入力の処理が二重に設定されていますが、これはキー押し続けの不具合対策による設定です。上記の設定では、決定キーを押し続けますと、連続的に弾丸が発射します。以下のように改良してください。変数[0021:キーカウント]に関する設定は削除しています。◆変数の操作:[0002:移動距離]代入,20が設定されている部分を以下のように変えてください。このページの設定を行ってください。敵キャラなどのマップイベントの当たり判定を追加します。弾丸が壁を貫通しないようにします。固定画面(横20×縦15マス+マップループ無し)では無い場合は、このページの設定が必要です。敵も弾丸を撃つようにします。※先に当たり判定の処理を追加するを設定してください。敵の視野内に入ると主人公に近づくようにします。※先に当たり判定の処理を追加するを設定してください。