咨询电话

硅谷成长日记 置顶

发表于2017-03-23 14:47:10 次查看
今天主要学习了为游戏添加网络功能,能在游戏客户端的界面来控制游戏服务端的战车上下左右活动,同时按空格键能打出子弹。

游戏服务端中:需要新建一个class文件,并命名为:NetPorcServer.java。首先需要通过GamePane的类来定义一个对象: gamePane;在NetPorcServer也定义一个对象:netPorc利用netPorc=new NetPorcServer(this);可以做到相互调用方法的功能,这个this指的是GamePane这个类,这个为接下来的编写程序起到了巨大的作用。定义socketpacket,在构造中定义属性,定义线程,在线程中编写接收功能。首先利用socket来调用receive()从客户端接收数据socket.receive(packet)。调用equals()语句来判断接收的语句是否和UPDOWNLEFTRIGHTSPACE的字段相等,相等的话便调用GamePane中的move()方法,只有最后的SPACE中:需要调用GamePanenewBullet(),来产生新的子弹。注意重要的几点:在服务端一定要记住设置端口号;在接收结果一定要设置字段的长度:packet.getData(),0,packet.getLength(),这样才能不会接收数据出错,限制接收结果的长度。

 

游戏客户端中:在主窗口中:定义socketpacket用来接收数据的,在构造中定义属性,同时定义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);其余的键值同理可得。

 

图片
                                                          硅谷学员—张曼玉

上一篇:硅谷成长日记
下一篇:硅谷成长日记

开班信息

开班信息
UI设计技能强化班 2018-03-10 火热报名
JAVA零基础项目研发班 2018-03-10 火热报名
嵌入式精英班 2018-03-10 火热报名

联系我们

联系人:张老师

咨询热线:0731-83755989

地址:湖南省长沙市岳麓区高新开发区延农创业基地5楼

分部地址:湖南省长沙市芙蓉区五一大道供销大厦(新世界百货)2092

在线客服
  • 点击这里给我发消息
  • 点击这里给我发消息
  • 微信扫一扫
  • 官方微信