RPGツクール2000/システム【サイトトップへ戻る】
■ダッシュ処理
(更新:2020/07/05)


決定キーを押し続けると2倍の速度で移動できるダッシュイベントの作り方を紹介します。


ショートカット
■主人公から触れたときの対策
■移動速度の設定
■スイッチ[0002:キー押し確認]について
■ダッシュイベントを設定
■補足

動作見本用のサンプルデータ
サンプルのダウンロードは↓をクリックしてください。
※このサンプルには雲の影を表示するも一緒に設定されています。
※サンプル内のスイッチ・変数の番号は、
 「+20番(変数0001→0021)」で設定しています。
サンプルのイベント設定状況を見る場合は、
ツクールの作品データが入っているフォルダを開いて、
その中にサンプルの作品データを入れてください。
【ツクールのフォルダの開き方を見る】
このサンプルデータのイベント設定をコピー&貼り付けして、
制作中の作品に使用する場合は、
イベントの処理構造を理解した上自己責任でご利用ください。

動作確認用のサンプル内では正常に動いていたイベントが、
制作中の作品にコピー&貼り付けしたら正常に動かなくなった場合は、
明らかにコピー&貼り付けの作業に問題があった事になります。


  
■主人公から触れたときの対策

ダッシュイベントは…
イベント開始条件:定期的に並列処理する

◆キー入力の処理:[0001](決定/オプション:OFF)
◆条件分岐:変数[0001]が5
 ◆キャラクターの動作指定:主人公,移動速度アップ×2,移動速度ダウン
 ◆
:それ以外の場合
 ◆キャラクターの動作指定:主人公,移動速度アップ×2,移動速度ダウン×2
 ◆
:分岐終了
と言った設定でも、決定キーを押し続ける事でダッシュする事ができます。

しかし上記イベントのように、
移動中にキャラクターの動作指定を実行し続けると、マップイベントと主人公が重なった時に、
主人公から触れたとき」が実行しないと言ったトラブルが発生します。

このトラブルは、次のマスへ移動している途中で、
キャラクターの動作指定を実行している事が原因です。

当ページのダッシュイベントでは、
次のマスへ移動している途中ではキャラクターの動作指定を実行しないようにして、
次のマスに到着したらキャラクターの動作指定を実行するようにしています。



主人公が移動途中であるかどうかを判断する処理は、
主人公が次のマスへ移動中かどうかを調べるを使います。
【主人公が次のマスへ移動中かどうかを調べるのページを開く】


▲トップへ戻る▲


  
■移動速度の設定

キャラクターの動作指定の設定は、
まず移動速度を最大までアップ、またはダウンしてから、設定したい移動速度を設定します。

▼4倍速
◆キャラクターの動作指定:主人公,移動速度アップ×5

▼2倍速
◆キャラクターの動作指定:主人公,移動速度アップ×5,移動速度ダウン

▼標準速
◆キャラクターの動作指定:主人公,移動速度アップ×5,移動速度ダウン×2

▼1/2倍速
◆キャラクターの動作指定:主人公,移動速度ダウン×5,移動速度アップ×2

▼1/4倍速
◆キャラクターの動作指定:主人公,移動速度ダウン×5,移動速度アップ

▼1/8倍速
◆キャラクターの動作指定:主人公,移動速度ダウン×5



今回は通常の移動速度は「標準速」、
ダッシュ時の移動速度は「2倍速」で設定します。


▲トップへ戻る▲


  
■スイッチ[0002:キー押し確認]について

「Windows7」や「Windows8」でキーを押し続けてもキー押しが途切れると言った現象があり、
決定キーを押し続けても決定キーが押されている押されていない交互になり、
うまくダッシュ処理が実行できない事があります。

そのため、決定キーを押した時にスイッチ[0002:キー押し確認]をONにし、
決定キーを離した時に本当に決定キーを離したのかをチェックするために、
決定キーを離した1回目は単にスイッチ0002番をOFFにするだけでダッシュ処理は継続させ、
60分の1秒後にもう一度キー入力を確認して、それでも決定キーを離していた時には、
ダッシュ処理を終了させます。


▲トップへ戻る▲


  
■ダッシュイベントを設定

コモンイベントに設定してください。

■コモンイベント「ダッシュイベント」

イベント開始条件:定期的に並列処理する

◆変数の操作:[0001:画面X]代入,主人公の画面X
◆変数の操作:[0002:画面Y]代入,主人公の画面Y
◆条件分岐:小型船に乗っている(オプション:ON)
 ◆変数の操作:[0001:画面X]減算,大型船の画面X
 ◆変数の操作:[0002:画面Y]減算,大型船の画面Y
 ◆
:それ以外の場合
 ◆変数の操作:[0001:画面X]減算,小型船の画面X
 ◆変数の操作:[0002:画面Y]減算,小型船の画面Y
 ◆
:分岐終了
◆変数の操作:[0001〜0002]剰余,16
◆条件分岐:変数[0001:画面X]が0以外<別のマスへ移動中
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:変数[0002:画面Y]が0以外<別のマスへ移動中
 ◆イベント処理の中断
 ◆
:分岐終了
◆キー入力の処理:[0004:キー入力](決定/オプション:OFF)
◆条件分岐:変数[0004:キー入力]が5(オプション:ON)
 ◆スイッチの操作:[0001:ダッシュ中]をONにする
 ◆スイッチの操作:[0002:キー押し確認]をONにする
 ◆キャラクターの動作指定:主人公,移動速度アップ×2,移動速度ダウン
 ◆
:それ以外の場合
 ◆条件分岐:スイッチ[0002:キー押し確認]がON
  ◆スイッチの操作:[0002:キー押し確認]をOFFにする
  ◆イベント処理の中断
  ◆
 :分岐終了
 ◆スイッチの操作:[0001:ダッシュ中]をOFFにする
 ◆キャラクターの動作指定:主人公,移動速度アップ×2,移動速度ダウン×2
 ◆
:分岐終了


▲トップへ戻る▲


  
■補足

他のイベントで主人公を対象にしたキャラクターの動作指定を実行すると、
このダッシュイベントのキャラクターの動作指定と混同して、
うまく動かなくなる可能性があります。

このような場合は、ダッシュイベントに出現条件スイッチを設定して、
他のイベントで主人公を対象にしたキャラクターの動作指定を実行する前に、
一時的にダッシュイベントの出現条件スイッチをOFFにして、
このダッシュイベントが動かなくするなどの対策を行ってください。



乗り物に乗っている時にダッシュイベントが実行されないようにしたい時には…
◆キー入力の処理:[0004:キー入力]
のすぐ下に…
◆条件分岐:小型船に乗っている
 ◆変数の操作:[0004:キー入力]代入,0
 ◆
:分岐終了
◆条件分岐:大型船に乗っている
 ◆変数の操作:[0004:キー入力]代入,0
 ◆
:分岐終了
◆条件分岐:飛行船に乗っている
 ◆変数の操作:[0004:キー入力]代入,0
 ◆
:分岐終了
を設定してください。


▲トップへ戻る▲



◎関連ページ

●主人公が次のマスへ移動中かどうかを調べる
●イベントコマンド:キャラクターの動作指定

YADOTトップ  このサイトは何?  気紛れな空間へ戻る  メール