从Kismet - UDK访问虚幻脚本变量

时间:2014-04-25 15:26:35

标签: unreal-development-kit unrealscript kismet-udk

我对UDK的编写经验几乎为0,但我认为我想要做的事情相当简单。我想在脚本中定义一个变量,然后我可以在Kismet中访问它。

这是我到目前为止所做的:

MyGameInfo.uc看起来像这样

class MyGameInfo extends UDKGame;

defaultproperties{  
    PlayerControllerClass=class'MyGameInfo.MyPlayerController'
}


event InitGame( string Options, out string Error )
{
    // Call the parent(i.e. GameInfo) InitGame event version and pass the parameters
    super.InitGame( Options, Error );

    // Unreal Engine 3
    `log( "Hello, world!" );
}

MyPlayerController.uc看起来像:

class MyPlayerController extends UDKPlayerController;

var() localized string LangText;

defaultproperties{
   LangText="asdfasdf";
}

然后,在Kismet中,我使用Get Property,将玩家0作为目标,尝试获取属性LangText。我有字符串输出去绘制文本(是的,我确保设置字体)。

看起来像这样: Kismet screenshot

我觉得我非常接近,但是在Draw Text中没有显示任何文字。有什么想法吗?

另外,为什么我要这样做呢?用于本地化目的。据我所知,在Kismet中没有简单的方法可以使用本地化的字符串来绘制文本。我的想法是为每个对话框创建一个本地化字符串,然后根据需要从Kismet调用这些字符串。

1 个答案:

答案 0 :(得分:0)

您需要确保在DrawText属性中从内容浏览器添加了Font资源,并检查它是否实际放置在屏幕上(对于居中文本,请尝试偏移0,0) 此外,我认为DrawText在UTGAME中不起作用 - 如果这是你的游戏类型。它适用于UDKGame。 如果您启用了ToggleCinematic模式,则选中“禁用HUD未启用”。

首先用常规字符串测试DrawText ...

尝试使用Player Spawned事件而不是Level Loaded,因为它可能会在游戏中添加太快而无法在游戏中添加。

相关问题