flash(as3.0)在线聊天室

 
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 类,界面如下:

 

数据库表如下:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值