このような自滅ボタンを作っていきます。
以下のコードを参考にしてます。
目次
コードの全体
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Fortnite.com/Characters }
self_elimination_button := class(creative_device):
@editable TheButton : button_device = button_device{}
OnBegin<override>()<suspends>:void=
TheButton.InteractedWithEvent.Subscribe(DeathButton)
DeathButton(Agent : agent):void=
if (Player := player[Agent]):
if (FortChar := Player.GetFortCharacter[]):
FortChar.Damage(10000.0)
コードの解説
冒頭
この仕組みはボタンデバイスを使うため、9行目のように
@editable TheButton : button_device = button_device{}を書きます。
関数宣言
16行目の関数の宣言から見ていきます。
DeathButton関数を宣言していますが、引数がAgent:agentとなっているのは後ほど出てくるInteractedWithEventがagent型の情報を必要とするからです。
関数のコードブロックでは以下のような処理が行われています。
Damageメソッドはfort_character型を対象とするため、18行目でfort_character型を取得しています。
agent,player, fort_characterの関係性については、7napさんがとても分かりやすく図にまとめてくれていますので、ぜひそちらもご覧下さい。(スライドの9ページ目)
12行目からの式は、ゲーム開始後に実施されます。
コードブロックの式は
ボタンが押されたら、DeathButton関数を実行する
という意味です。
InteractedWithEventはagent型の情報を必要とするため、
DeathButton関数を呼び出す際はパラメータにagent型を書きます。
以下のように自滅できれば完成です。
コメント