プレイヤーはブロックを拾ったり投げたりすることができます。この機能を適切に使用するには、コリジョン設定で”Use Moving Platforms”を有効にする必要があります。
Demo2 のブロックをテンプレートとして使用するといいです。
ゼロから作成するには、空のゲームオブジェクトに AIFSM を追加します。
タグをBlockに設定します。
レイヤーをPlatformに設定します。
AI タイプを MovingPlatform に設定します。
has Gravity を有効にします。
コリジョン設定で Collide With World Only を有効にします。
Wait という空のstateを 1 つ作成します。
Throw という別のstateを作成し、Throw ノードを追加します。
スロー速度を設定します。
OnSuccess と OnFailure を有効にして、Slide 状態にジャンプします。
Slide 状態と Slide ノードを追加します。
スライド速度を設定します。
OnSuccess と OnFailure を有効にして、Wait 状態にジャンプします。
このアビリティは、これらの状態の使用を担当します。
BoxCollider2D とスプライト レンダラーがあることを確認します。
Property | |
---|---|
Grab Button | 押すと、プレイヤーはブロックに触れていればそれを拾います。 |
Drop Button | 押すと、プレイヤーはブロックを落とします。 |
Throw Time | 投げるアニメーションを再生するために throwingBlock シグナルが true に設定される時間。 必要ない場合は 0 に設定します。 |
Hold Position | プレイヤーがブロックを保持しているときの、プレイヤーに対するブロックの保持位置。 |
Pick Up time | プレイヤーアニメーションの目的で、ブロックをピックアップパスに沿って移動するのに要する時間。必要ない場合は 0 に設定します。 |
Lerp Pick Up | 有効にすると、ブロックはピックアップ パスを通過します。 |
Pick Up Path | ブロックがホールド位置に到達するために通過するポイント。各ポイントの x 位置は、プレイヤーの方向に応じて反転されます。 |
**Signals: pickAndThrowBlock, pickingUpBlock, holdingBlock, throwingBlock*