分享好友 天南地北首页 网站导航

关于flash作为客户端开发多人在线网络游戏的问题

网友发布 2023-07-30 17:17 · 头闻号游戏应用

现在flash做客户端开发的网络游戏,主要是用as3了,

1,自己怎么把自己的操作发给服务器!

as3有POST和GET的提交,写好提交的地址,和参数就可以

2,服务器怎么传递给另一方

通常动态数据是存在数据库,服务器收到谁的操作就查询数据库的相关操作,取结果通常返回XML格式,这样FLASH就可以识别,如果数据信息不太敏感的话,可以存在as3的SharedObject函数,类似于HTML的cookie

3,另一方怎么传递给服务器?然后在传给我?

看了上面,这个就不解释了,都是在服务器的数据

如果你真的要开发FLASH网游,你一个FLASH的设计者是很难做的,找个程序员跟你合作。。。。

完整些的flash游戏都要上百行代码的,以老师讲课的进度他会用种灰常怀疑的目光边看你的flash代码边对你提问的。贴一个以前改写的简易键盘控制角色移动代码,//里写好了代码的注释,谨防老师提问。

1打开flash选舞台在下面属性面板把舞台改为800×600,导入到舞台(快捷键Ctrl+R)一张喜欢的小作为控制的角色

2调出库面板(Ctrl+L)打开库,选中拖到库里,选择新建影片剪辑元件,随意起个名字

3元件拖到舞台,选择元件按F9打开动作面板粘贴下面整段代码,

//键盘控制影片剪辑移动的代码:

onClipEvent

(load)

{

speed

=

25;

}

//

初始化移动速度为25,负数代表反方向移动速度

onClipEvent

(enterframe)

{

//进入帧后随时监测

if

(Key.isDown(Key.LEFT)

&&

!Key.isDown(Key.RIGHT))

{

_x

-=

speed;

_rotation

=

0;

}

//如果按键盘左键并且没同时按右键,剪辑向左平移,旋转角度为0

if

(Key.isDown(Key.RIGHT)

&&

!Key.isDown(Key.LEFT))

{

_x

+=

speed;

_rotation

=

0;

}

//如果按键盘右键并且没同时按左键,剪辑向右平移,旋转角度为0防止左右同时按时元件静止不动

if

(Key.isDown(Key.UP)

&&

!Key.isDown(Key.DOWN))

{

_y

-=

speed;

_rotation

=

0;

}

//如果键盘按上键并没同时按下键,剪辑向上平移,旋转角度为0

if

(Key.isDown(Key.DOWN)

&&

!Key.isDown(Key.UP))

{

_y

+=

speed;

_rotation

=

0;

}

//如果键盘按下键并没同时按上键,剪辑向下平移,旋转角度为0防止上下键同时按时元件静止不动

if

(Key.isDown(Key.LEFT)

&&

Key.isDown(Key.UP)

&&

!Key.isDown(Key.RIGHT)

&&

!Key.isDown(Key.DOWN))

{

_rotation

=

-55;

}

//如果键盘按左+上键并且没按右+下键时,剪辑向左旋转55度,防止左上与右下同时按产生冲突

if

(Key.isDown(Key.RIGHT)

&&

Key.isDown(Key.UP)

&&

!Key.isDown(Key.LEFT)

&&

!Key.isDown(Key.DOWN))

{

_rotation

=

55;

}

//如果键盘按右+上键并且没按左+下键时,剪辑向右旋转55度

if

(Key.isDown(Key.LEFT)

&&

Key.isDown(Key.DOWN)

&&

!Key.isDown(Key.RIGHT)

&&

!Key.isDown(Key.UP))

{

_rotation

=

-55;

}

//如果键盘按左+下键并且没按右+上键时,剪辑向左旋转55度,防止左下与右上冲突

if

(Key.isDown(Key.RIGHT)

&&

Key.isDown(Key.DOWN)

&&

!Key.isDown(Key.LEFT)

&&

!Key.isDown(Key.UP))

{

_rotation

=

55;

}

//如果键盘按右+下键并且没按左+上键时,剪辑向右旋转55度

if

(_y<0)

{

_y

=

600;

}

//控制剪辑上边界,如果移动高度小于0,还原到600位置由下向上循环

if

(_y>600)

{

_y

=

0;

}

//控制剪辑下边界,如果移动高度超过600,还原到0位置由上向下循环

if

(_x<0)

{

_x

=

800;

}

//控制剪辑左边界,如果移动宽度小于0,还原到800位置由右向左循环

if

(_x>800)

{

_x

=

0;

}

//控制剪辑右边界,如果移动宽度超过800,还原到0位置由左向右循环

}

免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报

举报
反对 0
打赏 0
更多相关文章

收藏

点赞