JVM と Android
このページは英語から翻訳されています。内容に相違がある場合は、英語のページが正しい内容です。 英語のページを読む
Kotlin のプレイヤーキットは JVM 上で、デスクトップと Android の両方で動作します。Java のゲームは、Java ファサードを通じて同じキットを使います。サンプルは libGDX のゲームに沿っています。そのレンダーループはイベントを取り出すのに自然な場所ですが、同じ呼び出しはどのゲームループにも適合します。
キットとそのネイティブライブラリを追加する
キットとそのネイティブライブラリは Maven Central 上の別々のアーティファクトなので、両方を追加してください。デスクトップのゲームは、Windows、macOS、Linux 用のライブラリを含む lingara-embed-natives-desktop を追加します。Android モジュールでは、代わりに AAR である lingara-embed-natives-android を追加します。libGDX プロジェクトでは、デスクトップ用のネイティブライブラリはデスクトップモジュールに、Android 用のネイティブライブラリは Android モジュールに入れます。
Kotlin のゲームは lingara-embed-kotlin に依存し、Java のゲームはファサードである lingara-embed-java に依存します。
サーバーからトークンを取得する
キットはシークレットを保持しません。あなた自身のサーバーのトークンルートと、プレイヤーのセッションを運ぶヘッダーをキットに渡すと、キットはトークンが必要になるたびにそこへ POST します。あなたのサーバーは サーバーキット で発行し、トークンとその有効期限を返します。
レンダーループでイベントを取り出す
コアはネットワーク I/O を専用のスレッドで実行し、あなたのコードを呼び出すことはありません。レンダーループの中で、ゲームスレッド上で、届いたものを一度に最大 256 イベントまで取り出し、練習の更新、ストリーミングされる NPC の返答、エラーなど、それぞれを処理します。Java では、各イベントはビジターの対応するメソッドに渡されます。ゲームの dispose ステップでキットを閉じてください。これによりコアが停止し、解放されます。
これらのイベントの内容については、NPC との会話 と 練習の結果 を参照してください。