-1
我有一個小遊戲,有一個小客戶端,遊戲接收來自服務器的數據。客戶端在一個模塊中,遊戲在另一個模塊中。問題在於客戶端從服務器接收數據,但要執行遊戲中的操作,客戶端需要訪問遊戲方法(類MyGame),並使用這樣的代碼,我得到一個錯誤:遊戲客戶端交互
模塊客戶端:
class MyClient:
#receives data from the server
#It is a task, always listening
def readerConnection:
#if a data arrives from the server...
if newData:
#call dataOnScreen of class MyGame
...dataOnScreen()
模塊遊戲:
from client import MyClient
class MyGame:
def _init_(self, client):
#begin to receive data from the server
self.c = client
#print data received from the server on screen
def dataOnScreen(self):
............
#the game begins
MyGame(MyClient())
當然
,因爲該方法dataOnScreen未在類定義MyClient發生錯誤。 如果我這樣做,一切工作正常(寫客戶端進入遊戲):
class MyGame:
def _init_(self):
.........
#receives data from the server
#It is a task, always listening
def readerConnection:
#if a data arrives from the server...
if newData:
#call dataOnScreen
self.dataOnScreen()
#print data received from the server on screen
def dataOnScreen(self):
............
#the game begins
MyGame()
但這不是我想要的。我想要的是讓遊戲和客戶處於不同的階級。
感謝您的幫助。
我假設您希望客戶端和服務器通過網絡進行通信。在這種情況下,你不能簡單地從一個方向調用一個函數,你需要使用某種網絡協議從一個到另一個進行通信。 – 2014-12-18 22:43:23
我認爲他們可以用服務器/客戶端通信,這是實際遊戲和客戶端類的聯繫/分離,這是問題(我認爲)。 – 2014-12-18 22:46:42