第二节 网络游戏开发的基础理论
好了,现在我们开始吧,在这里实际教程中,为了简单学习化,就不采用图片,只用 flash
的简单动作来做网络游戏的通讯。(觉得罗嗦或者已经会的人可以不用看)
个人觉得做 flash 网络游戏的话,比较好的结构是 flash + c++ + java 比较好一点。也就
是说 flash 做客户端,C++做网络通讯,而 flash 就做 WEB 层的,包括单个用户的读取数据
等。.老实说,我是不怎么会教人了,在这里就只讲一点点基础而已。要做网络游戏,肯定
是要用到 Socket 的通讯了。这里服务端是采用 java 程序了(呵,因为我是个 java 程序员)。
而 flash 方面就要用到 XMLSocket 了。利用这个网络通讯,通过服务端的信息转发,就可
以让所有的客户端同步信息了。
我不知道其他人是怎么想同步所有客户端(在同一个场景)人物同步的。我在这里才用
的是接受其他玩家的动作命令,然后在自己的客户端上作相应的动作,从而实现同步。而
自己人物移动的每一个动作也是传到服务器转发给他其他玩家。好了,就说到了,其他的
在配合实际的制作中讲解吧。
新建一个 flash 文档,大小为 800*600,帧频为:30(游戏一般都是要在 30 帧以上的)
在 flash 建立一个 mc,就命名为 personMC,再设置连接属性为 personMC。(选中该
MC,点右键,就可看见链接的字,选中)
接下来是写一个 flash 的类,用来控制这个 mc 的动作的,代码如下:
/*
*该类主要功能是对传进来的 mc 进行控制,也就是控制动作
*/
class PersonAction
{
private var mc:MovieClip;
//mc 移动的速度
private var speed:Number = 5;
public function PersonAction(mc:MovieClip)
{
this.mc = mc;
}
public function setMovie(mc:MovieClip)
{
this.mc = mc;
}
public function getMovie():MovieClip
{
return mc;
}
/*
* <p>控制主角的动作</p>