Animationスクリプトコマンド

Syntax: Animation=AnimIndex , KEY1_, KEY2_ , FAN_flags , ENV_Environment , Distance for Env , Extra , StateId or AnimationId array(...)
範囲:[Level]セクションで使用する。

Animationコマンドを使用すると、プレイヤーがキーを押すと、ララの新しいアニメーションを実行できます。
(このコマンドは、上級レベルビルダーがララの新しい動きを加えるためにのみ推奨されています)
アニメーションやゲームのアニメーションに使用するホットキーの設定をするには、新しいララのコマンドを許可する条件も設定する必要があります。例えば、ララが水中や吊り下げされている間にキックするなど、予期せぬときにアニメーションが実行されるからです。

AnimIndexフィールド

このフィールドには、WADMergerのAnimationEditorで表示されるアニメーション番号を入力します。
備考:
負数を入力すると、Animationコマンドは診断モードで動作します。
この場合、アニメーションは実行されませんが、アニメーションを実行できるかどうかを画面上で確認することができます。
画面には、「Anim-1 = no」または「Anim-1 = YES」のようなテキストが表示されます。
この診断モードは、位置またはキーストロークコマンドなど、どの瞬間にアニメーションを開始するかを確認し、Animationコマンドで設定する条件をテストするのに便利です。
これらの情報を画面に表示するには、Script.txtの[Options]セクションに「Diagnostic=ENABLED」と入力して診断を有効にする必要があります。

Key1 and Key2フィールド

これらのフィールドには、新しいアニメーションを実行するキーを識別するコード(または2つ)を入力します。

備考:KEY1フィールドに特殊値KEY1_RELEASEDを追加して、キーに関する条件を反転することができます。KEY1_RELEASEDが存在する場合、指定されたキーが押されていない場合にのみ、条件がtrueになります。

これらのフィールドには2種類の値を設定できます。
キーボードスキャンコードまたはキーボードゲームコマンドです。
どちらのタイプもキーボードのキーを識別しますが、いくつかの違いがあります。
- キーボードスキャンコードはキーボードの任意のキー(またはほとんど)を選択することができますが、ゲームコマンドはゲームのオプション画面で表示されるプレフィックスキーだけです。
- 一方、ゲームコマンドはジョイスティックによっても有効になる利点があり、プレイヤーがゲームのオプション画面で設定を変更すると、コマンドは引き続き動作します。
もう1つの違いは、Key1とKey2フィールドに値を入力する方法です。
スキャンコードを使用する場合は、NG_Centerの[Reference]のKEYBOARD SCANCODEリストから値をコピーする必要があります。
一方、あらかじめフォーマットされたゲームコマンドを使用したい場合は、リファレンスパネルのMNEMONIC CONSTANTSにあるKEY1_コンスタンツとKEY2_コンスタンツを使用することができます。
ゲームコマンドを使用するときは、KEY1_とKEY2_の接頭辞に従って、Key1フィールドまたはKey2フィールドに値を配置する必要があることに注意してください。

別の方法として、スキャンコードを使用する場合、F8キーのスキャンコードや「Q」リテラルなど、通常はゲームで使用されていない新しいキーを割り当てることができます。

2つの異なるスキャンコードを設定することもできます。1つはKey1に、2つ目はKey2に書き込みます。この場合、アニメーションは、両方のキーがある時点で押された時だけ実行されます。
例えば:
Animation=500, 42, 11, ...
とすると42(Shift left)と11(Number 0)のため、プレイヤーが同時にShift と 0(ゼロ)を押した時だけアニメーション500が開始されます。

備考:スキャンコードを使用する場合は、FAN_フィールドにフラグFAN_KEYS_AS_SCANCODEを追加する必要があります。

キーボードゲームコマンドを使用すると少し違うことに注意してください。
キーボードゲームコマンドを使用すると、同じKeyフィールドに2つ以上のコードを挿入できます。これらの値の合計を入力するだけです。
例えば:
同時に2つ以上のゲームコマンドを要求し、KEY1_と他のKEY1_...をKEY1_コンスタンツに追加し、他のKEY2をKEY2_コンスタンツに追加することができます。
例えば、ゲームコマンドAction JumpとDashを組み合わせるには、key1フィールドに「KEY1_JUMP + KEY1_ACTION」を挿入し、Key2フィールドには「KEY2_DASH」を挿入する必要があります。

備考:Key1/2フィールドの一部を使用しない場合は、IGNOREと入力して、使用されていないことを知らせます。

FAN_Flagsフィールド

1つまたは複数のフラグFAN_を設定して、アニメーションコマンドの動作を設定することができます。
NG_Center[Reference]タブのFAN_フラグも参照してください。

ENV_Environmentフィールド

このフィールドには、ララの周辺の環境について非常に明快な条件を1つ設定できます。
このフィールドは、アニメーションがララの周りに正しい環境を必要とする場合にのみ使用してください:壁、穴、壁を登るなど。

備考:
* FAN_フラグとは違って、ENV_値の合計を入力することはできません。単一のENV_条件のみを選択でき、ENV_POS_..フラグまたはENV_NON_TRUEフラグのみを追加して条件の意味を逆転できます。
*IGNOREと入力すると、環境を設定しません。

NG_Center[Reference]タブのENV_コンスタンツも参照してください。

Distance for Envフィールド

このフィールドには、Environmentフィールドで設定した特定の環境に関するサイズや高さ、または範囲を指定する数値を入力します。
一般的には壁の高さ、穴の深さといったものです。
使用する単位は1セクターで1024のため、1クリック=256、半セクターは512です。
ENV_MONKEY_CEILINGコンスタンツでは、このフィールドの単位は異なります。設定方法については、ENV_MONKEY_CEILINGコンスタンツの説明を参照してください。
IGNOREと入力すると、TRNGは現在のENV_Environmentフィールドに最適なデフォルト値をこのフィールドに使用します。
MultEnvConditionコマンドの設定を使用する場合にもこのフィールドは使用されます。その場合は、このフィールドにMultEnvConditionコマンドのIDを入力します。
同様に、TestPositionコマンドの設定を使用する場合にもこのフィールドは使用されます。その場合は、このフィールドにMultEnvConditionコマンドのIDを入力します。

Extraフィールド

このフィールドは、FANフラグまたはENV_条件に従って異なる値を入力します。
NG_Center[Reference]のFAN_...フラグまたはENV_条件も参照してください。

StateId or AnimationId arrayフィールド

Extraフィールドの後には、StateIdまたはAnimationインデックスを設定して特別なアニメーションを開始する条件として使用する値を1つ以上入力できます。

特別なアニメーションは、プレイヤーがキーを押した瞬間、ララのStateIDとアニメーションインデックスの少なくとも1つが、正しい場合にのみ実行されます。

備考:アニメーションインデックスからStateIDを認識するには、StateIDに正の値を使用する必要があります。アニメーションインデックスでは負の値を使用する必要があります。
例えば、リスト:「96, 112, -28, -42」
これはこう読みます。ララのStateIDが現在96または112で、同時に、ララの現在のアニメーションインデックスが28または42である場合にのみ、アニメーションを実行します。

StateIDについては、NG_Center【Reference】タブのSTATE_コンスタンツを入力することもできます。

StateIDまたはアニメーションインデックスが何であるかを理解していない場合は、ララが何をしているかを伝えるための数字のようなものだと思ってください。

例えば、次の表は最も重要なStateIDを示しています。
Climbing: $38 , $39, $3A, $3B, $3C, $3D
Falling: $09, $1D
Jumping: $19, $1A, $1B, $1C, $03
Moving on all fours: $50, $51, $47, $48
Rolling: 5
Running: 1
Walking: 0
Monkey: $4B, $4C, $4D, $4E, $4F, $52, $53
Still, stand up: 2

備考:
「$」記号は「16進値」を意味します。Windowsの関数電卓で16進数を10進数に変換することができます。とにかく、上記の数字を16進数で直接入力することができます。
もちろん10進数でも数字を入力できます。

入力したStateIDは、TRNGによって使用され、アニメーションがいつ許可され、いつ再生されるかを理解します。
通常は、StateIDとして値「2」または「STATE_STOP」を設定します。この場合、ララが静止していて立っている時にのみアニメーションが有効になります。
しかし、ララが壁を登っているときにのみ実行するアニメーションを作成することもできます。この場合は、クライミングに関するすべての値$38、$39、$3A、$3B、$3C、$3Dまたはこれらの値の一部だけ入力する必要があります。
すべてのStateIDやアニメーションインデックスを発見するには、Script.txtにDiagnostic=ENABLEDとし、ゲーム内でアニメーションとStateIDを参照します。
あるいは、WADMergerからAnimation Editorを起動。ララのアニメーションを選択すると、「StateID」とアニメーションインデックスが表示されます。