`
zhongguo168a
  • 浏览: 45635 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

as3与后台通讯(php)

阅读更多

目前flash在各方个面的应用越来越广,而flash也不单只是注重自身绚丽的效果,也需要和外界程序交换数据,以实现更强大的功能,随着as3 的到来,flash和外部交互的方式也越来越简便和合理化。今天就在这里谈谈as3和后台数据的交互(这里选择as3+php架构,其他配置同理)。

在as3里,原来的loadVars方法已经被废弃,而改用一系列的类来实现与后台数据的交互,这些类是:URLLoader,URLLoaderDataFormat,URLStream,URLVariables。
URLLoader 类和原来的loadVars类似,是加载文本,2进制数据,xml,URL数据等信息的有力工具。URLLoader接受一个URLRequest 作为构造的参数,使用load方法来加载数据。URLLoder也可以进行监听,这点也loadVars不同,一个简单的示例如下

// ////////////////actionscript code//////////////////////////////////////////
//
声明一个URLLoader
var loader:URLLoader = new URLLoader();
// 监听数载加载完成事件
loader.addEventListener(Event.COMPLETE,loaded);
// 事件相应函数
function loaded(e:Event) ... {
    trace(loader.data);
// output : this data is from php!
    }

// 加载test.php
    loader.load( new URLRequest( " test.php " ));

 

 

// ////////////////test.php code/////////////////////////////////
<? php
// 声明一个变量并赋给一个字符串
$data = ' this data is form php! ' ;
// 输出这个变量给flash
echo $data ;
?>

从上面的示例可以看出,as3和后台交互是多么简单,但这只是单项的交互,如果要flash向后台发送数据并传回数据该如何去做呢?这个时候你可能会把代码该成这样:

 

// actionscript code
var loader:URLLoader = new URLLoader();
loader.data
= ... {message: " hello im flash! " } ;
loader.addEventListener(Event.COMPLETE,loaded);
function loaded(e:Event) ... {
trace(loader.data);
// output : this is flash say:
}

loader.load(
new URLRequest( " test.php " ));

 

 

// test.php code//
<? php
$flashData = $_POST [ ' message ' ];
echo " this is flash say:$flashData " ;
?>

 

看 看输出的代码,你得到了什么?是的,信息并没有传输到php,你还是在用loadVars的方式试图传送数据,但as3里已经不是这样了, URLLoader的data只有在数据被下载完时才会被初始化,在数据没有加载完成时,它是等于null的,也就是说,它只包含接受到的数据,而不管要 发送的数据,那么,as3里如何向后台发送数据呢?使用URLVariables。URLVariables允许你在flash和后台程序间传输变量, as3里已经把发送和接受数据分离,再也不像as2的loadVars那样,一个类通吃所有了,那么这个URLVariables如何送要发送的数据呢?
你 可能找遍了URLLoader的文档也没有发现与它相关的东西,是的URLLoader并不和URLVariables有关联,而是 URLRequest在使用它,URLRequest包含整个http请求的所有信息,所以我们要发送的数据要放在这里,URLRequest有一个 data属性他接受一个object类型的参数,这就是我们要发送的数据。同时你可能还注意到了,URLRequest也管理用什么样的方式来发送 http请求,它的method属性接受一个字符参数,post或者是get。好了,现在我们来看看它们是怎么工作的:

 

// actionscript code
var loader:URLLoader = new URLLoader();
// 声明一个URLRequest
var url:URLRequest = new URLRequest( " test.php " );
// 设置传输方式为POST
url.method = URLRequestMethod.POST;
// 声明一个URLVariables
var values:URLVariables = new URLVariables();
// 设置要传输的信息
values.message = " hello im flash! " ;
    url.data
= values;
loader.addEventListener(Event.COMPLETE,loaded);
function loaded(e:Event) ... {
trace(loader.data);
// output : this is flash say:hello im flash!
   }

loader.load(url);

 

分享到:
评论

相关推荐

    与as的后台交互留言系统

    【标题】:“与AS的后台交互留言系统”指的是一个基于PHP技术开发的,能够与ActionScript 3.0(AS3.0)后台进行数据交换的留言系统。这个系统的主要功能是提供用户在网站上留言,并且后台可以接收到这些留言,进行...

    flex与后台通讯方式

    一、Flex与后台通讯的基础 1. BlazeDS和LCDS:Flex与后台通信通常借助于BlazeDS或LCDS(LiveCycle Data Services),这两个都是Adobe提供的服务器端技术,用于实现Flex与Java或.NET等后端服务的集成。BlazeDS是免费...

    flash as3整站源码php

    PHP文件可能位于“cms_php”目录下,与AS3代码通过XML或JSON等格式交换数据,实现动态内容加载。 4. **后台**:通常指网站的管理部分,负责内容管理、用户管理等后台功能。在这个项目中,后台可能包括了数据库操作...

    AS3与Kinect

    将AS3与Kinect结合,可以开发出极具创新性的交互式应用,例如手势识别系统,让用户体验到前所未有的操作方式。 在"AirKinectFingerDetectionDemo"这个项目中,我们主要探讨的是如何利用AS3实现对Kinect捕捉到的手势...

    PHPRPC ——as3的结合……

    3. **PHPRPC**:PHPRPC是一个轻量级的PHP RPC框架,其设计目的是简化服务器端PHP与客户端(如AS3)之间的通信。它提供了简单易用的API,使得跨语言调用成为可能,提高了开发效率。在这个项目中,AS3可能通过PHPRPC...

    as和后台通讯 URLLoader(URLStream) FlashRemoting XMLSocket(Socket) FMS/FCS

    综上所述,AS和后台通讯涉及多种技术,包括URLLoader和URLStream用于简单的HTTP请求,FlashRemoting通过AMF协议实现高效远程调用,XMLSocket提供低延迟的双向通信,而FMS/FCS则提供了流媒体和高级实时交互的支持。...

    SWFBridge as2 as3 通讯

    由于AS3具有更高效、更面向对象的特性,但与AS2不兼容,因此在某些情况下需要实现AS2和AS3之间的通信。"SWFBridge"就是解决这一问题的关键技术。 SWFBridge是一种技术解决方案,它允许在AS2和AS3之间传递数据和事件...

    as3实现播放.wav声音文件(带as3同js通讯源码)

    as3实现播放.wav扩展名的声音文件 as3实现flash与javascript(js)的通讯 要引用: import de.popforge.audio.output.SoundFactory; import de.popforge.audio.output.Audio;

    flash as3+php留言板

    本教程将深入探讨如何使用AS3与PHP构建一个简单的留言板系统,帮助开发者理解这两种技术的整合。 一、AS3基础 1. AS3简介:AS3是Flash Professional和Flex Builder等工具中使用的编程语言,它引入了强类型、面向...

    flash 与 asp交互简单实例AS3-ASP.NET

    本文将深入探讨如何使用AS3(ActionScript 3)与ASP.NET(VB)进行交互,通过一个简单的实例来阐述这一过程。 首先,我们需要理解AS3和ASP.NET各自的角色。AS3是Flash Professional或Flex Builder中用于创建动态...

    flash as3 php 保存存图片

    在IT行业中,将Flash AS3生成的图片保存到服务器通常涉及到客户端与服务器之间的交互,这里主要涉及的技术点包括Flash ActionScript 3 (AS3)、PHP以及文件上传处理。下面我们将详细探讨这些知识点。 首先,Flash AS...

    一个as3+php实现的简单聊天室

    2. **Socket通信**:AS3提供了Socket类,可以用来建立TCP连接,实现客户端与服务器之间的双向通信。在聊天室中,客户端会通过Socket连接向服务器发送消息,并接收其他用户的消息。 3. **XMLSocket**:如果服务器端...

    as3实现播放.wav声音文件(带as3同js通讯源码

    as3实现播放.wav扩展名的声音文件 as3实现flash与javascript(js)的通讯 要引用:import de.popforge.audio.output.SoundFactory; import de.popforge.audio.output.Audio;

    FLASH AS3 SOCKET收发16进制示例

    通过查看源代码,你可以看到如何将AS3代码与Flash时间轴上的元素(如按钮、文本字段)结合在一起,创建一个用户交互的示例。 总的来说,"FLASH AS3 SOCKET收发16进制示例"涵盖了网络编程的基础,以及如何在Flash...

    as3-udp test

    在压缩包文件“udp通讯”中,可能包含的是示例代码、库文件或者教程文档,用于帮助开发者理解如何在AS3中设置和使用UDP通信。这些资源可能涵盖了如何创建Socket对象、绑定端口、连接远程服务器、发送和接收数据的...

    AS3与JaveScript之间的通讯视频讲解

    本视频教程将深入探讨如何实现AS3与JavaScript之间的通信。 1. **跨域策略**: 在AS3与JavaScript通信时,由于同源策略的限制,如果Flash内容和HTML不在同一个域名下,必须设置跨域策略。在AS3中,可以通过`...

    AS与java socket通讯解决安全沙箱

    在IT行业中,网络通信是应用程序之间交互的重要方式之一。在这个场景中,我们关注的是...提供的压缩包文件“AS与java socket通讯 解决安全沙箱”可能包含示例代码或更详细的说明,帮助你更好地理解和实践这个过程。

    as3,php和mysql之间的连接及使用数据

    **PHP与MySQL的交互** 1. **数据库连接**:PHP使用`mysqli`或`PDO`扩展来连接到MySQL数据库。`mysqli`提供了面向对象和面向过程两种方式,而`PDO`提供了更通用的数据库访问接口。 2. **SQL查询**:PHP通过执行SQL...

    as3+php 抽奖 滚动抽奖v2版本

    这个系统的主要特点是它的视觉效果和用户体验,通过AS3实现动态滚动的抽奖界面,同时利用PHP进行后台逻辑处理,确保抽奖过程的公正性和安全性。 ActionScript 3(AS3)是Flash平台上用于创建交互式内容的编程语言。...

    Flash as3调用外部AS脚本

    在Flash开发中,ActionScript 3 (AS3) 是一种强大的编程语言,用于创建交互式内容,动画,以及与外部资源进行通信。标题提到的"Flash AS3调用外部AS脚本"是一个常见的需求,特别是在处理复杂逻辑或者代码模块化时。...

Global site tag (gtag.js) - Google Analytics