アクション機能

基本設定

アクション機能の基本的な共通設定を行います。
全て単独のパラメーターです。


【統括スイッチ】

On (true)にすると、アクション機能を有効化します。
Offにするとアクション機能に含まれるパラメーターは全て無効化されます。

また、このスイッチがOnの時、ステートで設定できる「SV重ね合わせ」のアニメーションがマップ上で表示されるようになります。


【メニューキー切替】

On (true)にすると、escapeキー、およびXキーといった「キャンセル」として機能するキーからメニューを開く機能を奪います。
代わりに、alt / optionキーでメニューを開けるようになります。
通常のゲームパッドではYボタンだけがメニューを開く機能を持っているため、そちらの操作感覚に近づけることができます。
なお、altはWindows PCでの呼称、optionはMac PCでの呼称です。


【アクション制御ステート】

On (true)にすると、プレイヤーが「行動できない」設定をされているステートを付与されている時に移動、方向転換ができなくなります。
また、イベントを発生させることもできなくなります。

行動制約が「行動できない」のものが対象です

コラム  イベントの行動制約

イベントは生憎ながら、「行動できない」ステートを付与されていても実行内容を処理しようとします。
これを制御する場合、次のスクリプトで条件分岐を行って下さい。

this.character(0).isRestricted();

この条件は「キャラクターが行動制約を受けている時」となります。
平常時の処理を作る場合は条件分岐の「それ以外」で設定するか、スクリプトの前に半角の「!」を付けて

!this.character(0).isRestricted();

で条件分岐を作って下さい。
この「!」は「それ以外」と同じ意味を持ちます。

条件分岐の記述例
実行内容の例

一見手間ではありますが、行動できない時の処理も自由に設定できるため、最終的なゲーム制作の幅は広がります。


【レベルアップ表示】

Off (false)にすると、レベルアップ時にメッセージが表示されなくなります。
ただしスキルの習得に関するメッセージは無条件で表示されます。
なお、これは通常のコマンドバトルでも適用されます。


【判定の可視化】

On (true)にすると、次の 【判定の色】の設定が有効になります。

※同梱されている「hitbox.png」という画像ファイルは、この機能には不要です。
単なる円形のピクチャ画像としてお使いください。


【判定の色】

アニメーションの当たり判定として表示する攻撃判定の色を設定します。
デフォルトはredとなっており、赤色の円が生成されます。
色の英語名の他、rgb(red, green, blue)によるRGB指定、#FFFFFFによるHEX指定も使用できます。
なお、不透明度は自動的に約20%に調整されます。

whiteの場合

【フレームレート】

アニメーションのフレームレートを1〜4で設定します。
それぞれをfps(frame per second)で置き換えた場合、右図のようになります。
ツクールのデフォルト仕様では 4 になっています。

  • パラメーター
  • fps
  • 1
  • 60
  • 2
  • 30
  • 3
  • 20
  • 4
  • 15

【向き固定タイプ】

プレイヤーの向きを常時固定するタイプを設定します。以下の4つから選択してください。

  • デフォルト :向きの常時固定は行いません
  • 横スク型  :プレイヤーを常に右向きで固定します
  • 縦スク型  :プレイヤーを常に上向きで固定します
  • ロックオン型 :ロックオン条件を満たすと、その方向で向き固定します
横スク型
縦スク型

なお、ロックオン条件については次のいずれかを満たすと達成と判断されます。

  • プラグインコマンドによりロックオン状態になる
  • アクションコマンドによりロックオン状態になる

【連打猶予フレーム】

後述の【コマンド設定】にて、<入力判定>で「二連押し」を設定した時に必要です。
1度目の入力をしてからキーを離すまでのフレームを設定します。

例)パラメーターを 3 に設定した時、入力から3フレーム以内にキーを離すと、 直後の同キー入力を「2連打目」として判定します。

この性質上、値を大きくするほど「単押し」の判定までが伸びてしまいます。


【溜め短縮能力】

長押しアクションの判定時間を短縮するステータスをIDで設定します。
設定されたステータスが存在する場合はその能力値だけ、存在しない場合はパラメーターの値だけ、長押し成功までの時間を短縮します。


【コマンド詳細表示スイッチ】

コマンドを実行した際、Onにするスイッチを設定します。
スイッチをOnにするだけなので、それにより呼び出される処理はユーザーが任意に設定できます。
MELOSでは実行するコマンドの情報を画面に表示することを目的に、この機能を実装しています。
コマンド情報の描画方法は、下記の関連スクリプトを参照してください。

これを使うことでコンソーラー出力に頼らずともコマンドの内容を見ることができ、パラメーター設定にミスがないかをチェックできるようになります。
また下記スクリプトを使えば技名やコンボ数を表示できるので、デバッグ用以外でも実用的に画面を飾ることが可能です。



関連プラグインコマンド

lockon exe

コマンド実行時、プレイヤーの向き固定状態を切り替えます。
【向き固定タイプ】が「ロックオン型」の場合のみ有効です。

  • exe

    off を記入すると、向き固定をOffにします。
    auto を記入すると、現在の向き固定を逆の状態にします。
    それ以外の場合は、向き固定をOnにします。

なお、同様の機能に【コマンド設定】<自動ロックオン>が存在します。
違いとして、プラグインコマンドはキー入力によらず、ユーザーやプレイヤーの任意のタイミングでロックオンを切り替えることが可能です。


関連スクリプト

SceneManager.drawCommandDetails();

実行されたコマンドの情報を画面中央右側に表示します。
表示する情報は以下の6項目です。

  • コマンドの名前
  • 現在のコンボ値
  • コンボ成立時、入力までにかかった時間
  • コンボの受付フレーム
  • 紐付けられたスキルの名前
  • スキルの連続回数
上記の【コマンド詳細表示スイッチ】で設定したスイッチをトリガーとした、並列コモンイベントで呼び出すと便利です。

この詳細表示は、自動的に消えることはありません。
手動で表示を消す際は、次のスクリプトを実行してください。

SceneManager.eraseCommandDetails();

また、上の参考画像にもスクリプトが載っていますが、コマンドのスキル名、コンボ値のみを独立表示させることも可能です。
表示、消去は次のスクリプトを使用してください。

  • スキル名の表示:SceneManager.drawCommandName(x, y, options);
  • スキル名の削除:SceneManager.eraseCommandName();
  • コンボ値の表示:SceneManager.drawComboCounter('comboText', x, y, options);
  • コンボ値の削除:SceneManager.eraseComboCounter();

引数のx y optionsは、任意テキストの仕様と同じです。
コンボ表示にのみ持たせられる comboText では、参考画像のようにコンボ値の後に続く文字(combo)をユーザーで設定できます。


関連メモ

<superarmor>
※β6.3.0〜

データベース「アクター」「職業」「武器」「防具」「敵キャラ」「ステート」に付与します。
アクションゲーム化において、アクターあるいはイベントエネミーがこのノートタグを何らかの形で持った場合、そのキャラクターにスーパーアーマーが付与されるようになります。
スーパーアーマーになると、次のメリットが得られます。

  • アクションの中断無効
  • ノックバック無効

一言でカンタンに言えば「ゴリ押しできる状態」です。

アクションの中断とは、ダメージを受けた際に攻撃アニメーションが中断される仕様のことを指します。
そのため、スーパーアーマー状態では敵の攻撃を受けても、気にせず攻撃をくりだすことができます。
また、ノックバック無効は被ダメージ判定において設定されたノックバックの発動が無効化されます。
計算式自体を無効化するので、「普段は軽くてノックバックするが、スーパーアーマーが付いた時だけノックバックしない」という設定が可能です。