JAVA與AS2製作乙個2D多人遊戲 3

2021-07-10 08:27:05 字數 1985 閱讀 9240

要進行資訊互動,首先要建立一對互相連線的socket

客戶端**如下

public function client()

伺服器端偵聽連線請求的serversocket類

public void run()

catch (ioexception e)

} }

上面有一段看起來有些不明所以的xml格式**,這是因為flash要訪問網路資源時,需要伺服器返回這樣一段資訊,否則就不能建立通訊

這個意思是所有**的ip都可以連線該伺服器

allow-access-from domain='*'

這裡是可以連線的埠

to-ports='34567'

建立起socket連線後,就可以進行資訊的傳送了

我們現在來製作註冊功能,先講一下思路。

客戶端先對賬號密碼框中的輸入進行簡單驗證,這邊為了簡單起見,只要長度大於0即可。

接下來客戶端打包字串訊息傳送給伺服器的clientthread類,伺服器進行拆解。

clientthread類將拆解後的資訊**給dbengine類,該類進行資料庫查詢,如果該賬號已經存在,返回註冊失敗,如果成功返回註冊成功,同時初始化該賬號資訊,伺服器再將該訊息返回客戶端,客戶端負責顯示結果的gui再顯示出結果。

**如下

客戶端驗證輸入後傳送

public function register(account:string,password:string)		

}

伺服器clientthread類

//註冊

if(line.startswith(main.register_key))

else

}

dbengine類

public static boolean register(string account, string password) 

else

rs.close();

s.close();

c.close();

} catch (classnotfoundexception e) catch (sqlexception e)

至此我們就完成了註冊功能的開發

登入功能也類似,過程如下

客戶端先對賬號密碼框中的輸入進行簡單驗證

接下來客戶端打包字串訊息傳送給伺服器的clientthread類,伺服器進行拆解。

clientthread類將拆解後的資訊**給dbengine類,該類進行資料庫查詢,如果賬號密碼正確,則登入成功,如果沒有該賬號或者賬號對了密碼不對,返回登入失敗

**如下

客戶端

public function login(account:string,password:string)

}

伺服器clientthread類

//登入

if(line.startswith(main.login_key))

});}

else

}

dbengine類

public static string login(string account, string password) 

rs.close();

s.close();

c.close();

} catch (classnotfoundexception e) catch (sqlexception e)

return line;

}

這裡就完成了登入功能的開發,是不是挺簡單的? 

下一期將介紹遊戲大廳中的一些資訊互動

以opengl製作2D貪吃蛇(一)

1 搭建好基本的視窗環境 要確定視窗大小,通過確定格仔的大小 tile width,tile height 格仔的數量 tile column,tile row 2 畫格仔 兩個迴圈 1 搭建好基本的視窗環境 要確定視窗大小,通過確定格仔的大小 tile width,tile height 格仔的數...

egret3D與2D混合開發,畫布尺寸不一致的問題

egret3d的gui目前還沒有,在做3d遊戲的時候沒有ui可用,只能使用egret2d的eui元件庫,egret3d與egret2d混合開發,canvas3d的大小與位置與canvas2d並沒有重合,導致適配ui時總是錯位。在做手機螢幕適配的時候必須解決這種問題,我的解決方法是兩個屬性相同。我的解...

快速檢測乙個點是否包含在乙個2d三角形內

如下圖所示 由三條線段連線起來的a,b,c三個點在2d平面中構成了乙個三角形。p點位於三角形外,q點位於三角形內,那麼用什麼方案來判定乙個任意點是否位於三角形內部呢?我們得找到乙個規律 假定你按照順時針的方向從a點出發向b點前進再到c點繼而在到a點,你會發現如果點在三角形內,則點一定位於你的右手,如...