【UEFN】Verseで自滅ボタンを作る方法を解説

このような自滅ボタンを作っていきます。

以下のコードを参考にしてます。

目次

コードの全体

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型の情報を必要とするからです。 

関数のコードブロックでは以下のような処理が行われています。 

agent情報からplayer情報を取得 (18行目)
player情報からfort_character情報を取得  (19行目)
プレイヤーに10000ダメージを与える (20行目) 

Damageメソッドはfort_character型を対象とするため、18行目でfort_character型を取得しています。 

agent,player, fort_characterの関係性については、7napさんがとても分かりやすく図にまとめてくれていますので、ぜひそちらもご覧下さい。(スライドの9ページ目)

12行目からの式は、ゲーム開始後に実施されます。 
コードブロックの式は 
ボタンが押されたら、DeathButton関数を実行する
という意味です。 
InteractedWithEventはagent型の情報を必要とするため、
DeathButton関数を呼び出す際はパラメータにagent型を書きます。 

以下のように自滅できれば完成です。

よかったらシェアしてね!

この記事を書いた人

メタバースに興味を持ち、UEFN、Verseを学びながらFortniteでゲーム制作しています。
初心者でも理解できるような記事を書くことを心がけております。
間違いがありましたら指摘よろしくお願いいたします。

コメント

コメントする

目次