Fortnite Verse代码初始化slider_regular报错,DefaultValue写法问题排查
Verse编译报错:slider_regular初始化语法错误
我在Unreal Engine For Fortnite环境下进行Verse代码开发时遇到了编译报错。以下是我的代码:
using { /Fortnite.com/Devices } using { /Verse.org/Simulation } using { /UnrealEngine.com/Temporary/UI } using { /Fortnite.com/UI } using { /UnrealEngine.com/Temporary/SpatialMath } CustomHP := class(creative_device): @editable Button:button_device = button_device{} OnBegin<override>()<suspends> : void = Button.InteractedWithEvent.Subscribe(HandleButtonInteraction) HandleButtonInteraction(Agent : agent) : void = if (InPlayer := player[Agent], PlayerUI := GetPlayerUI[InPlayer]): MyUI : slider_regular = slider_regular {DefaultValue:float := 100.0, DefaultMinValue:float := 0.0, DefaultMaxValue:float := 100.0, DefaultStepSize:float := 1.0} PlayerUI.AddWidget(MyUI)
编译返回的错误信息如下:
C:/Users/BraveGamerTV/Documents/Fortnite Projects/MyProject/Plugins/MyProject/Content/CustomHP.verse(17,66, 17,71) : Script error 3577: Unexpected expression C:/Users/BraveGamerTV/Documents/Fortnite Projects/MyProject/Plugins/MyProject/Content/CustomHP.verse(17,98, 17,103) : Script error 3577: Unexpected expression C:/Users/BraveGamerTV/Documents/Fortnite Projects/MyProject/Plugins/MyProject/Content/CustomHP.verse(17,128, 17,133) : Script error 3577: Unexpected expression C:/Users/BraveGamerTV/Documents/Fortnite Projects/MyProject/Plugins/MyProject/Content/CustomHP.verse(17,160, 17,165) : Script error 3577: Unexpected expression
问题原因与解决方案
报错是因为初始化slider_regular时,错误地给属性添加了:float这类类型注解。Verse的对象初始化语法不支持这种写法——slider_regular类的属性类型已经在类定义中确定,编译器会自动推导值的类型,无需手动声明。
修正后的初始化代码如下:
MyUI : slider_regular = slider_regular { DefaultValue := 100.0, DefaultMinValue := 0.0, DefaultMaxValue := 100.0, DefaultStepSize := 1.0 }
去掉所有属性后的:float类型标注,即可解决编译报错。
内容的提问来源于stack exchange,提问作者Brave.
相关产品推荐
相关产品推荐

