【问题标题】:Accessing unreal script variables from Kismet - UDK从 Kismet 访问虚幻脚本变量 - UDK
【发布时间】:2014-06-11 09:47:36
【问题描述】:

我几乎没有使用 UDK 编写脚本的经验,但我认为我正在尝试做的事情相当简单。我想在脚本中定义一个变量,然后我可以在 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 中使用本地化字符串绘制文本并不容易。我的想法只是为每个对话框创建一个本地化字符串,然后根据需要从 Kismet 调用这些字符串。

【问题讨论】:

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


    【解决方案1】:

    您需要确保从内容浏览器的 DrawText 属性中添加了字体资源,并检查它是否实际放置在屏幕上(尝试使用偏移 0,0 来获得居中文本) 另外,我认为 DrawText 在 UTGAME 中不起作用 - 如果那是您的游戏类型。它适用于 UDKGame。 如果您启用了 ToggleCinematic 模式,请检查 Disable HUD is not on。

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

    尝试使用 Player Spawned 事件而不是 Level Loaded,因为它可能触发得太快以至于玩家尚未添加到游戏中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-30
      • 1970-01-01
      • 1970-01-01
      • 2019-12-24
      • 1970-01-01
      相关资源
      最近更新 更多