Flash聊天室的实现(2)
B、Flash部分
1、在属性面板上,将第一帧的“帧标签”设为“login”。在第一帧的Action面板中加上:
Stop();
2、如图1所示,在场景中放置两个文本框,两个button,其中上面一个文本框的设置如图2所示,另一个文本框的设置如图3所示。
3、新建一个组件,命名为“loginloop1”,在第一帧的Action面板中加上下面语句:
_root.count = 0;
stop();
在第5帧上插入关键帧,在Action面板上加入下面的语句:
if (!(_root.userlogin)) { //注释1
_root.count = _root.count + 1;
if (_root.count > 50) //注释2
{
_root.gotoAndPlay("netfalse");
_root.loginloop.gotoAndStop(1);
}
_root.loginloop.gotoAndPlay(2);
}
if (_root.userlogin == "success") //注释3
{
_root.txttime = _root.userlogin;
_root.gotoAndPlay("main");
_root.loginloop.gotoAndStop(1);
}
if (_root.userlogin == "unsuccess") //注释4
{
_root.gotoAndPlay("loginfalse");
_root.loginloop.gotoAndStop(1);
}
注释1:判断结果是否已经从服务器端返回,不是的话,计数器加一。
注释2:判断计数器是否已经到50,是的话,跳转到网络超时界面。
注释3:判断返回的结果是否位success,是则跳转到聊天的主界面。
注释4:若返回的结果为unsuccess,跳转到登陆出错界面。
4、将组件“loginloop1”从图库中拖到场景中,将其实例名设为“loginloop”。
5、在场景中登陆Button的Action面板中增加下面的语句:
on (release) {
if (length(_root.username) == 0) { //注释1
_root.username = "请输入名字";
} else if (length(_root.userpwd) == 0) {
_root.username = "请输入密码";
}
if ((length(_root.username) != 0)and (length(_root.userpwd) != 0)) { //注释1 loadVariables("login.asp?username=" add _root.username add "&userpwd=" add _root.userpwd, this, "POST");
_root.loginloop.gotoAndPlay(2);
timeflag = 0;
}
}
注释1:判断用户名和密码是否为空。
注释2:用户名和密码不为空,向服务器端发送用户名和密码。