我正在開發一個使用javafx的小型遊戲多人遊戲。我有一個對象Map,它擴展了類AnchorPane。這張地圖包含一些擴展類Rectangle的「Tiles」。 類Map和Tile實現了Serializable。通過套接字發送javafx矩形/窗格
我想要的:
服務器創建地圖,但不顯示它。每次玩家連接時,都會發送地圖。
事情是,我收到它後(客戶端)顯示地圖,它什麼也沒有顯示......每塊瓷磚都在地圖上,但沒有顯示。
問題1:AnchorPane和Rectangle沒有實現Serializable,這是爲什麼地圖不顯示任何東西?即使我使用實現Serializable的「自定義」對象?
問題2:更普遍的是,它是實現多人遊戲的好方法嗎?我的意思是,在每次操作後有一臺帶MapController的服務器發送地圖,還是每個客戶端都有它自己的地圖,服務器發送由客戶端執行的命令更好? (如創建新的播放器,移動播放器....)
一般規則:不要在套接字上發送「視圖」(GUI)對象,因爲這是不必要和低效的。而是發送代表模型狀態的數據。 –