WEB开发网
开发学院图形图像Flash FMS3系列(六):使用远程共享对象实现多人实时在线... 阅读

FMS3系列(六):使用远程共享对象实现多人实时在线聊天

 2009-05-05 12:06:26 来源:WEB开发网   
核心提示: 在继续实现聊天功能前,我们需要编写一个通用方法,FMS3系列(六):使用远程共享对象实现多人实时在线聊天(3),该方法提供将一个数组里的数据转移到另一个数组,如下代码块:以下为引用的内容:privatefunctionconvertArrayCollection(arrNew:ArrayC

在继续实现聊天功能前,我们需要编写一个通用方法,该方法提供将一个数组里的数据转移到另一个数组,如下代码块:

以下为引用的内容:

private function convertArrayCollection(arrNew:ArrayCollection,arrOld:ArrayCollection):void
{
     arrNew.removeAll();
  
     for(var i:int=0;i<arrOld.length ;i++)
     {
          arrNew.addItemAt(arrOld.getItemAt(i),i);
     }
}

下面我们通过发送消息的流程开始,首先是发送消息,通过自定义Message类来封装消息内容:

以下为引用的内容:

1 package flex.VO
 2 {
 3     public class Message
 4     {
 5         public var NickName:String;  //用户呢称
 6         public var Context:String;    //消息内容
 7         
 8         public function Message()
 9         {
10         }
11     }
12 }

在发送消息的时候,通过此Message类来封装发送消息的数据,然后将其发布到FMS中的远程共享对象,更新远程共享对象中的数据。

以下为引用的内容:

private function onSend():void
{
    var tempCollection:ArrayCollection = new ArrayCollection();
    if(so.data.msgCollection != null)
    {
        convertArrayCollection(tempCollection,so.data.msgCollection as ArrayCollection);
    }
    
    var msg:Message = new Message();
    msg.NickName = this.txtUser.text;
    msg.Context = this.txtMessage.text;
    tempCollection.addItem(msg);
    //更新远程共享对象中的属性值
    so.setProperty("msgCollection",tempCollection);
    
    this.txtMessage.text="";
}

上一页  1 2 3 4 5  下一页

Tags:FMS 系列 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接