【提问】DamageDisplaySettings节点怎么让受到治疗伤害-100,显示为+100

node2dやVariableSettings、DamageDisplaySettingsノードにスクリプトをアタッチしても効果がありませんでした。
公式にお願いですが、VariableSettingsノードでtaken_damageが-1の時に、DamageDisplaySettingsノードで接頭辞の「-」を「+」に変換できる機能を追加してください。

あなたのために何か作ってみました:
BazFloatingTextAction.gd (42.7 KB)

私が調べた限りでは、ネイティブのダメージ表示ではこれを実現できないようです。負のダメージにおけるマイナス記号は、ダメージ表示のエンジン側由来のものであり、回復時にそれを反転させる設定はありません。

そこで、まさにこのケース用に小さなカスタムアクションを作成しました。名前は「BazFloatingTextAction」で、現在テスト中です。近日中にファイルとデモを公開します。これは単一の .gd ファイルであり、プロジェクトの custom_actions/ フォルダに置くだけです。そうすれば、アクションの追加ダイアログの表示カテゴリに表示されます。

回復アイテムの場合、ビジュアルスクリプトにおいて負のダメージを適用するのと同じ箇所に、浮遊テキストアクションを追加してください:

  • 表示テキスト = +{amount} とし、{amount} の部分が実際の数値に置き換えられます。BBCode も使用可能です。例えば [wave]+{amount}[/wave] のようにします。
  • 数値ソース = 回復量が格納されている場所:入力した定数、オブジェクトの変数、プロジェクト変数、またはデータベースのセルなどです。また、「数値なし」を選択すると、MISS のような純粋なテキストを表示することもできます。
  • 絶対値 = ON。これがあなたのケースでの重要なポイントです。-100 として保存された回復量が 100 として表示され、テンプレートに + が含まれているため、結果として +100 が表示されます。
  • ターゲットモード = このオブジェクト(アクションを実行しているアイテムの上にポップアップが表示される)または指定オブジェクト(任意のオブジェクトシーン、例えばプレイヤーなどを選択)。

さらに、フォント、サイズ、色、輪郭、生成位置のアンカーとピクセルオフセット、上昇距離、持続時間、フェードなどの装飾的な設定もあります。

各トリガーは独立したポップアップを生成し、上昇し、フェードし、自身を削除します。そのため、ポーションを連続で5つ取得しても、ポップアップが5つ積み重なるだけで、何も壊れません。これが役に立てば幸いです!

「いいね!」 1

ありがとう :heart: :heart: 試してみます