簡體   English   中英

Kryonet和Slick2D

[英]Kryonet and Slick2D

我正在嘗試在本教程的幫助下將Kryonet集成到Slick2D游戲中。 我正在嘗試創建一個服務器/客戶端基礎結構,用戶可以創建服務器或加入服務器來玩雙人游戲。

本教程建議將整個游戲對象添加為“網絡監聽器”,但在我的Slick2D游戲中,GameContainer和StateBasedGame僅在整個應用程序中可用。

GameContainer包裝我的游戲對象,這個游戲對象擴展了StateBasedGame。 我不知道如何整合KryoNet。

我真的很難找到可以幫助我的信息,所以任何指導都會很棒。

您應該創建一個GameServer類和一個GameClient類。 游戲邏輯進入GameServer,渲染進入GameClient。 如果您的游戲邏輯與渲染代碼混合在一起,請查看一些模型視圖控制器解釋(這是一篇不錯的文章: http//www.badlogicgames.com/wordpress/? p = 2668 )。

讓我告訴你,通常服務器和客戶端是完全不同的應用程序,有時讓用戶托管服務器是不可行的,因為它可能涉及配置防火牆等等。

所以GameServer應該擴展Listener,創建一個kryonet Server的實例,並將自己添加為服務器的監聽器。 GameClient應該類似地擴展Client,創建kryonet的Client實例,並將自己添加為客戶端的監聽器。

如果您將當前游戲狀態類的引用傳遞給GameClient,GameClient可以與它通信並告訴它要呈現什么,然后游戲狀態可以告訴客戶端要作為輸入發送什么。 類似地,如果您將當前游戲狀態類的引用傳遞給GameServer,則服務器可以向游戲邏輯提供輸入,然后游戲邏輯可以告訴服務器將什么發送給客戶端。

我建議在IP環回上創建一個簡單的消息傳遞程序,以熟悉kryonet。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM