Flash页游的原理的认识

接触了第一个成熟的页游Flash游戏,名字就不说了,假设就是QQ农场这样的游戏。前端采用的是Flex、As3.0,后端采用Java的服务器,数据库是MySQL。

总体的认识:(怎么浅显怎么说)

玩家点击Flash游戏界面,产生事件,消息封装,通过client2serverReq的接口将消息encode()发送给Java服务器,Java服务器同样拥有这样的接口client2ServerReq将接收到的消息进行处理,一些与游戏相关的逻辑都是在服务器上处理的,比如农场的金币计算,收获的物品数量等等,当服务器将数据处理完毕以后,通过接口Server2ClientRes将处理后的数据返回给玩家,玩家也有这样的接口Server2ClientRes来接收数据,然后再在Flash界面上显示对应的金币数目等。

细节分析:

1、页游游戏的数据,有数据库,内存2部分。而内存中的数据会因为服务器重启,数据丢失,所以我们需要将内存中的数据及时写到数据库中保存,防止因为服务器的原因而将玩家的数据丢失。比如,玩家收获了多少种子,服务器对种子数目逻辑计算后,要立即将数据写到数据库中,然后发送给用户,告诉他现在拥有的种子数目。

2、然后就是对相应消息的注册与监听,处理。比如客户端发送了一个消息GoldProcessReq,服务器那边就有一个注册的Manager,比如GoldManager来处理金币的一些逻辑问题。作为很多个处理不同问题的Manager需要一个统一的接口,这个接口中需要有的方法是:register(),notify()。注册监听,处理消息的2个方法。

3、关于设计模式,服务器那边使用最多的就是单例模式,比如GoldManager,DBManager等等,采用单例的好处,特别是在一对多,多对一的交互中非常的可取,统一了数据内存的关系,确保了服务器端的处理都是同一个对象Manager实现的。

4、观察者模式,客户端不同的消息发送过来,服务器就可以推送给不同的消息处理者去处理。

5、thinking.

原文地址:https://www.cnblogs.com/vokie/p/3602071.html