Banner
首頁 > 學員動態 > 內容
湖南java培訓硅谷成長日記:游戲客戶端添加網絡功能
- 2019-02-20-

今天主要學習了為游戲添加網絡功能,能在游戲客戶端的界面來控制游戲服務端的戰車上下左右活動,同時按空格鍵能打出子彈。


游戲服務端中:需要新建一個class文件,并命名為:NetPorcServer.java。首先需要通過GamePane的類來定義一個對象: gamePane;在NetPorcServer也定義一個對象:netPorc;利用netPorc=new NetPorcServer(this);可以做到相互調用方法的功能,這個this指的是GamePane這個類,這個為接下來的編寫程序起到了巨大的作用。


定義socket,packet,在構造中定義屬性,定義線程,在線程中編寫接收功能。首先利用socket來調用receive()從客戶端接收數據:socket.receive(packet)。調用equals()語句來判斷接收的語句是否和”UP”,”DOWN”,”LEFT”,”RIGHT”,”SPACE”的字段相等,相等的話便調用GamePane中的move()方法,只有最后的”SPACE”中:需要調用GamePane的newBullet(),來產生新的子彈。注意重要的幾點:在服務端一定要記住設置端口號;在接收結果一定要設置字段的長度:packet.getData(),0,packet.getLength(),這樣才能不會接收數據出錯,限制接收結果的長度。湖南java培訓教育,湖南硅谷嚴謹的教學態度。

 

游戲客戶端中:在主窗口中:定義socket,packet用來接收數據的,在構造中定義屬性,同時定義InetAddress addr;在構造中先定義一個byte型的數組用來存放服務端的IP地址:byte add[]=new byte[]{(byte) 192 ,(byte) 168 ,(byte) 1 , (byte)125};之后再將這個數組放入addr中去:addr=InetAddress.getByAddress(add);為按鈕添加事件監聽:在按上鍵時:定義一個字符串String str="UP",將這個字符串轉變為byte型,定義一個新的DatagramPacket p1;最后利用socket來調用send()發送數據至服務端:socket.send(p1);其余的鍵值同理可得。


硅谷教育

地 址:湖南省長沙市岳麓區高新開發區延農創業基地5樓

聯系方式:0731-83755989

公司官網:http://www.369interactive.com/

關注我們

版權所有:硅谷教育手機版營業執照信息公示

亚洲国产在线精品国