精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
  • 让你的网站产生收益赚钱,有博客和网站的绝对不能错过
  • 将指定的流量带到你的网站,为你站增加有效的访客,为你提升业绩
  • Flash AS3中数据发送与接收

    来源:网络 时间:07-11-26 点击: 点击这里收藏本文

    第四部分:如何组织发送的变量?

    as2中的loadvars类,它是用n个属性保存变量
    as3使用URLRequest类的data属性保存变量.
    使用一个属性保存变量?
    更绝的是,该data属性是一个object值.靠!
    理论上说,我们已经可以把as3中的任意东西传送给外部脚本.
    现实一点来说,
    将data属性定义为一个string类型,
    就已经能实现我们的简单需求了
    比如传递多个变量
    URLRequest.data="变量1=1&变量2=2&变量3=3",
    只要会一定的字符串操作,就能很好的组织自己想发送的数据了.
    站巨人肩上,我们再想一下
    如果有n个变量,(n的值可以让人操作n个字符串的时候发狂.呵呵)
    如果是loadvars类,那没办法,还是老老实实的一个一个写吧
    as3中,怎么弄?怎么弄?怎么弄?怎么弄?怎么弄?怎么弄?
    既然data属性是个object值.
    又需要保存很多数据.
    那么有个词已经呼之欲出了
    数组!
    说到这里我就卡住了,
    我再考虑,数组这部分究竟就该详细的说一下 ,还是略去.
    考虑2分钟.................

     

     

    既然能学到今天的as3想必已经是as2老手了,数组操作不讲也罢了
    如果是新手刚入门,估计您应该先去as2版块找找数组的资料
    呵呵 小弟这里就偷偷懒 见谅了

    最后提示一个
    如果你还是喜欢as2的书写方式。
    as3还是可以满足你的。
    参考URLVariables类。
    代码如下:

    var variables:URLVariables = new URLVariables();
    variables.exampleSessionId = new Date().getTime();
    variables.exampleUserLabel = "guest";
    request.data = variables;

    前面3句代码似曾相识吧
    完全和as2的loadvars类一样,
    只不过最后还是需要把URLVariables对象赋值给URLRequest对象的data属性。

    URLRequest.data中大有文章,它是一个Object值。理论上来说就可以传递任何东西,无论是可视对象还是不可视的其他对象(各种类),但是对于与外部脚本通信来说,我们需要的仅仅是name=value 如此格式的字符串,然后用 &符号连接而已。
    在As3中组织需要传递的变量,推荐的做法是用URLVariables类。
    说白了,就是剥夺了政治权利的 LoadVars类,然后给改名成了URLVariables类。
    详细的方法和属性,参考一下帮助文件就行了
    下面给出一个范例代码,也是在上文中出现过的:

    var request:URLLoader=new URLLoader
    var variables:URLVariables = new URLVariables();
    variables.变量一 = "变量一"
    variables.变量一 = "变量二";
    request.data = variables;
    trace(variables)
    trace(request.data)

    从trace的结果应该知道,variables已经将自己的几个属性以及属性值用&连接起来了。
    当初我还以为可以在URLRequest.data上大做文章,随着进一步的学习和实验,发现,其实用数组来组织需要传递的变量其实没什么必要了,也不能直接实现。
    为什么说不能直接实现呢?看一个例子就知道了
    下面我们令URLRequest.data等于一个数组,看代码:

    var my_arr:Array=new Array();
    my_arr[0]= "123"
    my_arr[1]= "456"
    var request:URLLoader=new URLLoader
    request.data=my_arr
    trace(my_arr)
    trace(request.data)
    Trace结果都是 123,456

    这样的结果用于传递变量到外部脚本肯定是不能用的。
    外部脚本能够接受的变量形式首先要求是name=value配对,然后是用&连接。
    相对于能自动组织变量的URLVariables类来说,用数组的方法真是有点麻烦。

    9 7 3 1 2 3 4 4 8 :

    用户评论

    广而告之