NGLE講座
■Animation=
サンプルレベル
http://www.trlevelmanager.eu/download/animationtutorial.zip
HelpフォルダのAnimationCommand.htmに詳しい説明があります。
構文
Animation=AnimIndex, KEY1_, KEY2_, FAN_flags, ENV_Environment, Distance for Env, Extra, StateId(STATE_...)or(-)AnimationIndex array(...)
記述場所
[Level]セクションで使用します。
インスタンスの最大値
レベルセクションの最大インスタンス数:256
使用例
;Actionキーを押した時、StateIDを保持したまま、 ;条件2の時、ララのアニメーション445番を実行する。 Animation=445, KEY1_ACTION, IGNORE, FAN_KEEP_NEXT_STATEID, > ENV_MULT_CONDITION, 2, IGNORE, STATE_STOP
機能概要
ララに新しい動きを加えます。
このコマンドは、上級レベルビルダー向けです。
ララに新しくアニメーションを追加するには、そのアニメーションを実行する条件とキーの設定をする必要があります。
記述時の注意点・備考
フリップマップの80番、77番でも似たようなことが可能です。
各フィールドの説明
- 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種類の値を設定できます。
キーボードスキャンコードまたはキーボードゲームコマンドです。
どちらのタイプもキーボードのキーを識別しますが、いくつかの違いがあります。
キーボードスキャンコード
キーボードの任意のキー(またはほとんど)を選択することができます。
F8キーやQなど、ゲームで使用されていない新しいキーを割り当てることができます。KEY1とKEY2フィールドの値は、NG_Center【Reference】タブのKEYBOARD SCANCODEリストから値をコピーする必要があります。2つの異なるスキャンコードを設定することもできます。1つはKEY1に、2つ目はKEY2に書き込みます。この場合、アニメーションは、両方のキーを同時に押した時だけ実行されます。備考:
例えば:
Animation=500, 42, 11,(以下略)
42 =(左のShift)と11 =(数字の0)では、プレイヤーが左のShiftと0(ゼロ)を同時に押した時にアニメーションが開始されます。
スキャンコードを使用する場合は、FAN_フィールドにFAN_KEYS_AS_SCANCODEフラグを追加する必要があります。
IGNOREと入力すると、KEY1とKEY2フィールドは使用されません。
キーボードゲームコマンド
ゲームのオプション画面で表示される固定キーしか設定できません。しかし、ジョイスティックでも有効になる利点があり、プレイヤーがオプション画面で設定を変更しても、コマンドは引き続き動作します。あらかじめフォーマットされたゲームコマンドを使用したい場合は、NG_Center【Reference】タブのKEY1_コンスタンツとKEY2_コンスタンツを使用することができます。
KEY1_とKEY2_の接頭辞に従って、KEY1フィールドまたはKEY2フィールドに値を配置する必要があります。同じKEYフィールドに2つ以上のコードの値の合計を挿入できます。備考:
同時に2つ以上のゲームコマンドを要求し、KEY1_と他のKEY1_...をKEY1_コンスタンツに追加し、他のKEY2をKEY2_コンスタンツに追加することができます。
例えば:
ゲームコマンドAction JumpとDashを組み合わせるには、KEY1フィールドに「KEY1_JUMP + KEY1_ACTION」を挿入し、KEY2フィールドには「KEY2_DASH」を挿入する必要があります。
IGNOREと入力すると、KEY1とKEY2フィールドは使用されません。 - FAN_Flags
- このフィールドには、Animationコマンドの動作を指定する1つまたは複数のFAN_フラグを入力します。
FAN_PERFORM_TRIGGER_GROUPフラグを使用すると、TriggerGroupをこのコマンドで実行することができます。
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_Environmentフィールドに従って異なる値を入力します。
- StateId or AnimationId array
- このフィールドには、特別なアニメーションを開始する条件としてStateIDまたはアニメーションインデックスを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備考:
入力したStateIDは、TRNGによって使用され、アニメーションがいつ許可され、いつ再生されるかを理解します。
「$」記号は「16進値」を意味します。Windowsの関数電卓で16進数を10進数に変換することができます。とにかく、上記の数字を16進数で直接入力することができます。
もちろん10進数でも数字を入力できます。
通常は、StateIDとして値「2」または「STATE_STOP」を設定します。この場合、ララが静止していて立っている時にのみアニメーションが有効になります。
しかし、ララが壁を登っているときにのみ実行するアニメーションを作成することもできます。この場合は、クライミングに関するすべての値$38、$39、$3A、$3B、$3C、$3Dまたはこれらの値の一部だけ入力する必要があります。
すべてのStateIDやアニメーションインデックスを発見するには、Script.txtにDiagnostic=ENABLEDとし、ゲーム内でアニメーションとStateIDを参照します。
あるいは、WADMergerからAnimation Editorを起動。ララのアニメーションを選択すると、「StateID」とアニメーションインデックスが表示されます。