您好,欢迎来到我要学flash网!登录注册

Flash Media Server 起步(6)写个简单的聊天室

来源:我要学flash网 | 作者:admin | 发表时间:2011-07-12 | 点击:  次

说明:很简单的东西,基本上就是共享对象的运用,没有用到服务器端,大型聊天室可能不会这么做,这个只适用于初学者:/

注释很详细,不说多了:

  1. //用户名  
  2. myname="游客" 
  3. //建立连接  
  4. var myNC = new NetConnection();  
  5. myNC.connect("rtmp://localhost/smallchat");  
  6.  
  7. //搞到rso  
  8. Talk_SO = SharedObject.getRemote("Talk", myNC.uri, false);  
  9. Talk_SO.onSync = function() {  
  10.   //先把聊天文本框清空  
  11.   remoteText.text = "";  
  12.   //把聊天列表显示出来,talklist的格式就是[谁谁说:啊啊啊,谁谁谁说:2222]  
  13.   var t = this.data.talklist;  
  14.   for (var i = 0; i<t.length; i++) {  
  15.     writeln(t[i]);  
  16.   }  
  17. };  
  18. Talk_SO.connect(myNC);  
  19.  
  20. //发消息函数  
  21. function post() {  
  22.   //如果不存在talklist就建一个,这里没用server端,是个技巧  
  23.   if (Talk_SO.data.talklist[0] == undefined) {  
  24.     Talk_SO.data.talklist = [];  
  25.   }  
  26.   //限制数组长度,是个队列。保证里边有5条消息,当然也可以更多,但如果没有限制,flash会垮的  
  27.   if (Talk_SO.data.talklist.length>=5) {  
  28.     Talk_SO.data.talklist.shift();  
  29.   }  
  30.   //把消息装到so里  
  31.   Talk_SO.data.talklist.push(myname+"说:"+meText.text);  
  32.   meText.text = "";  
  33. }  
  34. //文字显示,换行  
  35. function writeln(msg) {  
  36.   remoteText.text += msg+"\n";  
  37.   remoteText.vPosition =remoteText.maxVPosition  
  38. }  
  39. //-----------------------------------------------  
  40. Btn.onRelease = function() {  
  41.   post();  
  42. };  
  43. this.onKeyDown = function() {  
  44.   if (Key.isDown(Key.ENTER)) {  
  45.     post();  
  46.   }  
  47. };  
  48. Key.addListener(this);  


原文件

http://www.nshen.net/blog/attachments/200602/smallchat.fla

    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    本文引用地址:
      最新评论: 共有位网友发表了评论
      发表评论:
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    表情:
    用户名: 密码: 验证码: