WEB开发网
开发学院图形图像Flash Flash AS3教程:ApplySocket类 阅读

Flash AS3教程:ApplySocket类

 2008-06-05 11:22:00 来源:WEB开发网   
核心提示: Object与ArrayObject,很适合用在群聊天室,Flash AS3教程:ApplySocket类(4),比如send("sunbright","大家好{哈 哈}");那么即时你在说话的内容加了很多怪怪符号,比如加上分隔符,就跟贴吧,,空格等

Object与ArrayObject,很适合用在群聊天室,比如send("sunbright","大家好{哈 哈}");那么即时你在说话的内容加了很多怪怪符号,比如加上分隔符,空格等等,因为Object的解析原理是,拿出第一个参数做为引用变量名,然后把后面的所有数据赋值给这个引用变量名来返回,所有后面的数据不管怎么样,都是不会破坏数据内容,即得到data数据后只要返回data的sunbright值,即可得到说话内容,不会因为格式错误,而把说话的内容有所改变

该类的作用在datatype属性中,讲了很多东西

下面讲讲应用:

该类的关键就在于isSide和datatype两个值,

如果isSide为true,那么就等于启用了数据包边处理,那么当你调用send方法传入某些参数,只要socket方做到的是,传进去什么他返回给你什么,那么通过同步事件,又会自动把处理过的数据,拿出来,做到数据的准确性,不会因为传了很多参数,有时候会紊乱。

而当datatype的属性改变后:

返回给你的数据,就做了一些处理,这样程序拿到最终数据的时候,根本不用处理,就可以直接使用,因为该类已经把需要解决的问题,搞定了

比如数据类型是ArrayArray的时候,请看下面的例子:

下面是一个同步的例子,接收到的数据类型是ArrayArray,拿到数据之后for循环一下,把该放的数据,放到相应位置,则完成同步。程序大大简化了,不会我们拿到数据了还要处理,如果是第一次玩socket的,肯定还会碰到很多怪怪问题,比如数据不对,拿出来的数据有问题,还要进行分段处理什么的

CODE:

private function syncFun(e:ApplySocketEvent):void{
    var tmpAr:Array = e.data as Array;
    for(var i:int = 0; i < tmpAr.length; i ++){
        var ar:Array = tmpAr[i];
        var _index:String = ar[1];
        if(_index != index && (has(_index) || ar[0] == "create")){
            switch(ar[0]){
                case "create":
                    createTank(_index);
                break;
                case "move":
                    var moveStr:String = ar[2];
                    var moveAr:Array = moveStr.split("");
                    get(_index).move(expBoo(moveAr[0]),expBoo(moveAr[1]),expBoo(moveAr[2]),expBoo(moveAr[3]));
                    moveAr = null;
                break;
                case "bullet":
                    get(_index).bullet();
                break;
                case "shell":
                    get(_index).shell();
                break;
                case "turn":
                    var turnStr:String = ar[2];
                    var turnAr:Array = turnStr.split("");
                    get(_index).turn(expBoo(turnAr[0]),expBoo(turnAr[1]));
                break;
            }
        }
        ar = null;
    }
    tmpAr = null;
}

如果没看懂,还有虾米问题,就跟贴吧。。。

上一页  1 2 3 4 

Tags:Flash AS 教程

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