收藏九域天地
九域天地友情链接
九域天地留言本
九域天地站点地图
      西安九域天地设计咨询网-VI/CI标志设计免费教程|平面广告设计教学文章|西安展示设计教程下载|室内装饰设计教程下载|多媒体动画制作在线教程文章|西安网站设计制作教程文章|招贴海报论坛教程|西安软件包装设计教程文章|西安展厅效果图设计教程|西安服装设计教程文章|西安公司标志设计|中国西安设计
   
西安九域天地设计咨询网-VI/CI标志设计免费教程|平面广告设计教学文章|西安展示设计教程下载|室内装饰设计教程下载|多媒体动画制作在线教程文章|西安网站设计制作教程文章|招贴海报论坛教程|西安软件包装设计教程文章|西安展厅效果图设计教程|西安服装设计教程文章|西安公司标志设计|中国西安设计
    当前位置:首页->设计相关->教程文章->多媒体设计文章    
   
 
西安九域天地设计咨询网-VI/CI标志设计免费教程|平面广告设计教学文章|西安展示设计教程下载|室内装饰设计教程下载|多媒体动画制作在线教程文章|西安网站设计制作教程文章|招贴海报论坛教程|西安软件包装设计教程文章|西安展厅效果图设计教程|西安服装设计教程文章|西安公司标志设计|中国西安设计
九域天地设计新闻
九域天地动向
设计相关文章
 
 
 
 
 
 
标志VI设计教程
Flash MX 编程深层次应用-网络连线游戏(3)

7.2 游戏区(2)


下面是对应的SIT部分的Java代码:

if(cmd.equals(this.cmd_SIT)) {

if(param != null) {

param = param.trim();

if( param.indexOf(" ") != -1) {

String desk_name = param.substring(0, param.indexOf(" "));

param = param.substring(param.indexOf(" "));

param = param.trim();

String chessman_status = param.substring(0,param.indexOf(" "));

String player_name = param.substring(param.indexOf(" "));

player_name = player_name.trim();

chessman_status = chessman_status.trim();

user.deskname = desk_name;

user.place = chessman_status;

if (chessman_status.equals("stand_up")) {

user.deskname = null;

user.place = null;

user.play_status = null;

}

// 由于是广播,所以自己也会收到一个坐下的命令,所以自己就不发给自己了

user.manager.notifyAll(packMsg(this.m_SIT, desk_name+":" + chessman_status + ":" + player_name,"" ));

}

}

}

服务器发一条信息,是如何收到,然后如何动作的呢?请看下面的部分Flash代码:

function onXML_Receive(x) {

if (x == null) {

return;

}

var e = x.firstChild;

if (e == null) {

return;

} else if (e.nodeName == "SIT") {

trace("----sit----");

_root.sit_down(e.attributes.Value);

}

……

这里的onXML_Receive程序就是前面说到的接收信息的主处理程序。很明显,这个在收到<SIT VALUE="6:stand_up:dongua" />串后,就会把它分解成一个结构型的内容,节点名就叫:SIT,其属性值e.attributes.Value等于"6:stand_up:dongua",请看这里调用的坐下的子程序:

function sit_down(str) {

var place = 0, pre, now;

var player = new Array(3);

//把这个字符串分成三个部分

player = str.split(":");

//如果是自己收到自己坐下的信息就不做任何处理

if (player[2] != _root.nickname) {

set_sit(player);

// 如果自己坐在他的对面就开始游戏,定为左边先走

if (player[1] == "left" && _root.player_right[player[0]] == _root.nickname) {

// 表示自己坐在右边,拿蓝棋,后走

_root.i_run = false;

_root.my_logo = _root.Second_play;

_root.your_logo = _root.First_play;

_root.rival = player[2];

_root.now_play_table = Number(player[0]);

//进入开始下棋的阶段

_root.init_play();

_root.gotoAndPlay("begin_play");

}

if (player[1] == "right" && _root.player_left[player[0]] == _root.nickname) {

// 表示自己坐在左边,拿红棋,先走

_root.i_run = true;

_root.my_logo = _root.First_play;

_root.your_logo = _root.Second_play;

_root.rival = player[2];

_root.now_play_table = Number(player[0]);

//进入开始下棋的阶段

_root.init_play();

_root.gotoAndPlay("begin_play");

}

}

}

function set_sit(arr) {

if (arr[0] != "null") {

var place = Number(arr[0]);

var obj_place = place-_root.objTableDisplay.table_begin+1;

//如果起立就清空对应棋盘对应位置的名字

if (arr[1] == "stand_up") {

if (_root.player_left[place] == arr[2]) {

_root.objTableDisplay["Table_"+obj_place].player_left = "";

_root.player_left[place] = "";

} else {

_root.objTableDisplay["Table_"+obj_place].player_right = "";

_root.player_right[place] = "";

}

}

//如果坐左边就修改对应棋盘左边的内容

if (arr[1] == "left") {

_root.objTableDisplay["Table_"+obj_place].player_left = arr[2];

_root.player_left[place] = arr[2];

}

//如果坐右边就修改对应棋盘右边的内容

if (arr[1] == "right") {

_root.objTableDisplay["Table_"+obj_place].player_right = arr[2];

_root.player_right[place] = arr[2];

}

}

}

你是不是有点看晕了?没有办法,编程序就是这样,一定要弄清楚哪些是Java代码,哪些是Flash代码,这两种代码看上去很相像。或者你会问为什么要一会用Java代码一会用Flash代码,笔者认为只有这样讲读者才会弄明白游戏到底是如何运行的。如果分开讲的话,可能会更加糊涂!好了,言归正传,下面就来说明上面的代码吧。

上面的代码是游戏坐下的程序,sit_down程序的核心分成下面几个部分:

? 如果收到的是我坐下的信息就不做任何处理。
? 如果我不是坐在刚才这个人的对面,那么仅仅需要显示刚才这个人的位置与名字,并做相应的坐下或者起立的操作。
? 这里留下一个伏笔,就是在开始下棋的时候要先初始化一下,然后跳转到begin_play帧,也就是下面的这两条语句,这个内容会在后面讲到。

_root.init_play();

_root.gotoAndPlay("begin_play");


 

 第 017 篇  首篇 上一篇 下一篇 返回 
 
 
 
 
  西安九域天地设计咨询网-平面广告设计、VI/CI设计、 室内装饰设计、多媒体动画制作、网站设计制作、招贴海报设计、软件包装设计、展厅效果图设计、公司标志设计 中国西安设计  
九域天地自助链接   九域天地友情链接   九域天地创作团队   九域天地人才招聘   九域天地联系方式   九域天地在线咨询
西安九域天地设计咨询网-VI/CI标志设计免费教程|平面广告设计教学文章|西安展示设计教程下载|室内装饰设计教程下载|多媒体动画制作在线教程文章|西安网站设计制作教程文章|招贴海报论坛教程|西安软件包装设计教程文章|西安展厅效果图设计教程|西安服装设计教程文章|西安公司标志设计|中国西安设计
 
九域天地联系电话   写信给九域天地
 
多媒体设计教程 网站设计教程 平面广告设计教程 环境装饰设计教程 界面创意设计教程