0

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 を取得しようとしています。文字列出力を Draw Text に送ります (はい、フォントを設定しました)。

次のようになります。 キスメットのスクリーンショット

私は本当に近くにいるように感じますが、Draw Text にテキストが表示されません。何か案は?

また、なぜ私はこれをやろうとしているのでしょうか? ローカライズ目的。私が知る限り、Kismet でローカライズされた文字列を Draw Text に使用する簡単な方法はありません。私の考えでは、ダイアログの各部分に対してローカライズされた文字列を作成し、必要に応じて Kismet からそれらの文字列を呼び出すだけです。

4

1 に答える 1

0

DrawText プロパティでコンテンツ ブラウザーから Font アセットを追加したことを確認し、実際に画面に配置されていることを確認する必要があります (中央揃えのテキストの場合は Offset 0,0 を試してください) また、UTGAME では DrawText が機能しないと思います- それがあなたのゲームタイプの場合。UDKGame で動作します。また、ToggleCinematic モードが有効になっている場合は、[HUD を無効にする] をオンにしないでください。

最初に通常の文字列で DrawText をテストします...

Level Loaded の代わりに Player Spawned イベントを使用してみてください。これは、プレイヤーがまだゲームに追加されるには速すぎる可能性があるためです。

于 2014-04-30T14:23:08.900 に答える