flash(as3.0)在线聊天室

来源:互联网 发布:arm linux gcc安装包 编辑:程序博客网 时间:2024/03/28 17:45
 
package {import flash.display.*;import flash.net.*;import flash.events.*;import flash.utils.*;import flash.text.*;public class CChat extends MovieClip {var str_user:String = "未知";/////////////////////////////////////var sendUrl:String = "send.php";var recvUrl:String = "recv.php";var timer:Timer;public function CChat() {this.send_btn.addEventListener(MouseEvent.CLICK, sendMessage);timer = new Timer(5000, 0);timer.addEventListener(TimerEvent.TIMER, timerHandler);timer.start();loadMessages();}public function setUserName(str:String):void {str_user = str;}private function timerHandler(e:TimerEvent):void {loadMessages();}public function setPosition(X:int, Y:int):void {this.x = X;this.y = Y;}private function loadMessages():void {var randomTxt:String= "?rand="+Math.random();var urlRequest:URLRequest = new URLRequest(recvUrl+randomTxt);var urlLoader:URLLoader = new URLLoader();urlLoader.addEventListener(Event.COMPLETE, loadMessagesHandler);urlLoader.load(urlRequest);}private function loadMessagesHandler(e:Event):void {var loader:URLLoader = URLLoader(e.target);var xml:XML = new XML(loader.data);//清空数据chat_list.htmlText = "";for each (var item in xml..data) {addMessage(item.name, item.message);}}private function addMessage(user:String, msg:String):void {chat_list.htmlText += user + ": " + msg + "\n";}private function sendMessageHandler(e:Event):void {input_txt.text = "";trace("发送成功.");}private function sendMessage(e:MouseEvent):void {var variables:URLVariables = new URLVariables();variables.user = str_user;variables.msg = input_txt.text;var urlRequest:URLRequest = new URLRequest(sendUrl);urlRequest.method = URLRequestMethod.POST;urlRequest.data = variables;var urlLoader:URLLoader = new URLLoader();urlLoader.addEventListener(Event.COMPLETE, sendMessageHandler);urlLoader.load(urlRequest);addMessage(str_user, input_txt.text);}}}


界面如下:

创建一个.fla文件,,添加关键帧入上图,帧代码如下:

stop();enter_btn.addEventListener(MouseEvent.CLICK, enterHandler);function enterHandler(e:MouseEvent):void {if (enter_txt.text!="") {enter_btn.removeEventListener(MouseEvent.CLICK, enterHandler);removeChild(enter_btn);removeChild(enter_txt);var chat:MovieClip = new CChat();chat.setUserName(enter_txt.text);addChild(chat);}}


创建影片剪辑元件,绑定CChat 类,界面如下:

 

数据库表如下:

原创粉丝点击