首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在AIScratch中共享游戏数据,实现网络数据交换

在AIScratch中,有时候想要联机一起玩,或者联机对战,这就是游戏共享数据,还是实时共享,下面我就要通过局域网通信,来传输一些信息,然后通过这些信息,来完成对两架飞机的控制,这个时候就可以共享游戏数据,实现网络数据交换。小伙伴们可以通过这个例子的教程,来完成你想要完成的想法

工具/原料

伯宏AIScratch图形化编辑器

方法/步骤

1第一步:我们需要先打开飞机大战这个单机游戏,点击项目,此时会自动弹出打开窗口,如图一,选择我们需要打开的游戏文件。就可以了进入游戏里面了。

2第二步:打开以后,我们就要修改一些代码了,图一是打开以后的程序块,我们先修改战斗机一,在舞台下方的精灵区内点击战斗机一就可以修改它的程序块了,然后在网络通讯区的分类里,找到启动服务端,按照图一提示,将启动服务端程序块拖至指定区域,设置好它的名字及通讯频道(网络上的信息只有电脑名称和通迅频道相同时,信息才会被接收处理,如果不加名称,就会把当前局域网中所有的电脑都发一遍)。然后删除游戏程序里原来的变量难度的设定,然后将控制飞机移动的程序块拖出来就可以了。图二是第二步完成后的代码区。图三是设置另一个战斗机2,更改原理和战斗机1相类似,如图一,这是还没有修改过的战斗机二的代码区我们按照改战斗机的方式改就行,唯一有一点不同,我更改的这个飞机游戏,是在我一台电脑上完成了,所以只要启动一个服务端就行。所有战队机2就不启动服务器

3第三步:此时就开始正式修改战斗机1的程序块,如图一所示,先设置好接收网络消息,我们就是通过网络消息来实现实时网络数据共享,然后通过接收过来的消息来判断怎么移动,当前战队机1我设置是“j”控制左移,“l”控制右移(在第四步中,战斗机2的程序块区会发送数据过来),最后设置好通过点击“a“,”d“两键来发送数据给另一架飞机(战斗机2),发送内容分别是”a,b“如图一所示。同样的道理,战斗机2也是通过网络消息来控制(当前是通过a,d),所以我们只需要设置发送消息就行。如图二,这是战斗机修改好以后的程序块。

4第四步:此时运行所有程序我们就可以通过网络通讯的功能和我们设置好的按键“a"、"d"和"j"、"l",来控制我们的两台战斗机啦。

5第五步:这一步是详细的解释一台电脑为什么就不用建立多个服务端(可以跳过),首先应该知道的在本系统是我们在一台电脑发出信息,其实 每台电脑都可以收到信息的,但是为了给指定的电脑发送信息, 我们事先会给自己的电脑定义一个名称和一个通迅的频道,网络上的信息只有电脑名称和通迅频道相同时,信息才会被接收处理, 否则会直接忽略掉。但因为我更改的这个飞机游戏,是在我一台电脑上完成了,所以只要启动一个服务端就行,就不要指定目标电脑名称了(不指定名字,就会把当前所有在局域网中的电脑都发一遍。),所以细心的小伙伴就会发现,上面每次发送消息时,对方名称是空的。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200623A0HJE100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券