- 浏览: 102663 次
- 性别:
- 来自: 大连
文章分类
最新评论
1. /**
2. * @author Kinglong
3. * @version 0.5
4. */
5.
6. package com.klstudio.upload {
7.
8. import flash.display.*;
9. import flash.events.*;
10. import flash.net.*;
11. import flash.external.ExternalInterface;
12. import flash.system.Security;
13.
14. public class FlashProxy extends Sprite{
15.
16. private var _params:Object;
17. private var _loader:URLLoader;
18. private var _method:String;
19. private var _id:String;
20. private var _parse:Boolean;
21. private var _inited:Boolean;
22. private var _data:String;
23. private var _xml:XML;
24.
25. public function FlashProxy(){
26. Security.allowDomain('*');
27. _inited = false;
28. _data = "";
29. _parse = true;
30. _method = URLRequestMethod.POST;
31. _loader = new URLLoader();
32. configureListeners(_loader);
33. }
34.
35. public function load(page:String,params:Object=null):void{
36. if(!_inited){
37. showError("FlashProxy还没有初始化!");
38. }
39. if(page == null || page == undefined){
40. showError("page参数为必须的!");
41. return;
42. }
43. var vars:URLVariables = new URLVariables();
44. vars.tmp = Math.random();
45. if(params != null){
46. for(var key in params){
47. if(key == "tmp"){
48. continue;
49. }
50. vars[key] = params[key];
51. }
52. }
53. _loader.dataFormat = URLLoaderDataFormat.TEXT;
54. var request:URLRequest = new URLRequest(page);
55. request.method = _method;
56. request.data = vars;
57. _loader.load(request);
58. }
59.
60. public function setParse(value:Boolean):void{
61. _parse = value;
62. }
63.
64. public function setMethod(value:String):void{
65. if(value == null || value == undefined){
66. return;
67. }
68. value = StringUtil.trim(value);
69. if(value.toLocaleUpperCase() == URLRequestMethod.POST || value.toLocaleUpperCase() == URLRequestMethod.GET){
70. _method = value.toLocaleUpperCase();
71. }
72. }
73.
74. public function getData():String{
75. return _data;
76. }
77.
78. private function configureListeners(dispatcher:IEventDispatcher):void {
79. dispatcher.addEventListener(Event.COMPLETE, completeHandler);
80. dispatcher.addEventListener(Event.OPEN, openHandler);
81. dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
82. dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
83. dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
84. dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
85. }
86.
87. private function completeHandler(event:Event):void {
88. _data = _loader.data;
89. if(_parse){
90. try{
91. _xml = new XML(_data);
92. }catch(error:Error){
93. _parse = false;
94. _xml = null;
95. Tracer.debug("xml解析错误!");
96. }
97. }
98. ExternalInterface.call(_id+".onComplete");
99. }
100.
101. private function openHandler(event:Event):void {
102. ExternalInterface.call(_id+".onOpen");
103. }
104.
105. private function progressHandler(event:ProgressEvent):void {
106. ExternalInterface.call(_id+".onProgress",event.bytesLoaded,event.bytesTotal);
107. }
108.
109. private function securityErrorHandler(event:SecurityErrorEvent):void {
110. showError("读取失败!\n 不能跨域访问,可能是你在web服务端根目录下没有放置crossdomain.xml文件!");
111. }
112.
113. private function httpStatusHandler(event:HTTPStatusEvent):void {
114. showError("读取失败!\n HTTP错误代码为:"+event.status);
115. }
116.
117. private function ioErrorHandler(event:IOErrorEvent):void {
118. showError("读取失败!\n 可能是因为下列原因:\n 1.网络忙,请稍候重试!\n 2.访问的web服务端没有开启!");
119. }
120.
121. public function alert(msg:String):void{
122. navigateToURL(new URLRequest(msg));
123. }
124.
125. public function showError(msg:String):void{
126. ExternalInterface.call(_id+".onError",msg);
127. }
128. }
129.
130. }
2. * @author Kinglong
3. * @version 0.5
4. */
5.
6. package com.klstudio.upload {
7.
8. import flash.display.*;
9. import flash.events.*;
10. import flash.net.*;
11. import flash.external.ExternalInterface;
12. import flash.system.Security;
13.
14. public class FlashProxy extends Sprite{
15.
16. private var _params:Object;
17. private var _loader:URLLoader;
18. private var _method:String;
19. private var _id:String;
20. private var _parse:Boolean;
21. private var _inited:Boolean;
22. private var _data:String;
23. private var _xml:XML;
24.
25. public function FlashProxy(){
26. Security.allowDomain('*');
27. _inited = false;
28. _data = "";
29. _parse = true;
30. _method = URLRequestMethod.POST;
31. _loader = new URLLoader();
32. configureListeners(_loader);
33. }
34.
35. public function load(page:String,params:Object=null):void{
36. if(!_inited){
37. showError("FlashProxy还没有初始化!");
38. }
39. if(page == null || page == undefined){
40. showError("page参数为必须的!");
41. return;
42. }
43. var vars:URLVariables = new URLVariables();
44. vars.tmp = Math.random();
45. if(params != null){
46. for(var key in params){
47. if(key == "tmp"){
48. continue;
49. }
50. vars[key] = params[key];
51. }
52. }
53. _loader.dataFormat = URLLoaderDataFormat.TEXT;
54. var request:URLRequest = new URLRequest(page);
55. request.method = _method;
56. request.data = vars;
57. _loader.load(request);
58. }
59.
60. public function setParse(value:Boolean):void{
61. _parse = value;
62. }
63.
64. public function setMethod(value:String):void{
65. if(value == null || value == undefined){
66. return;
67. }
68. value = StringUtil.trim(value);
69. if(value.toLocaleUpperCase() == URLRequestMethod.POST || value.toLocaleUpperCase() == URLRequestMethod.GET){
70. _method = value.toLocaleUpperCase();
71. }
72. }
73.
74. public function getData():String{
75. return _data;
76. }
77.
78. private function configureListeners(dispatcher:IEventDispatcher):void {
79. dispatcher.addEventListener(Event.COMPLETE, completeHandler);
80. dispatcher.addEventListener(Event.OPEN, openHandler);
81. dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
82. dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
83. dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
84. dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
85. }
86.
87. private function completeHandler(event:Event):void {
88. _data = _loader.data;
89. if(_parse){
90. try{
91. _xml = new XML(_data);
92. }catch(error:Error){
93. _parse = false;
94. _xml = null;
95. Tracer.debug("xml解析错误!");
96. }
97. }
98. ExternalInterface.call(_id+".onComplete");
99. }
100.
101. private function openHandler(event:Event):void {
102. ExternalInterface.call(_id+".onOpen");
103. }
104.
105. private function progressHandler(event:ProgressEvent):void {
106. ExternalInterface.call(_id+".onProgress",event.bytesLoaded,event.bytesTotal);
107. }
108.
109. private function securityErrorHandler(event:SecurityErrorEvent):void {
110. showError("读取失败!\n 不能跨域访问,可能是你在web服务端根目录下没有放置crossdomain.xml文件!");
111. }
112.
113. private function httpStatusHandler(event:HTTPStatusEvent):void {
114. showError("读取失败!\n HTTP错误代码为:"+event.status);
115. }
116.
117. private function ioErrorHandler(event:IOErrorEvent):void {
118. showError("读取失败!\n 可能是因为下列原因:\n 1.网络忙,请稍候重试!\n 2.访问的web服务端没有开启!");
119. }
120.
121. public function alert(msg:String):void{
122. navigateToURL(new URLRequest(msg));
123. }
124.
125. public function showError(msg:String):void{
126. ExternalInterface.call(_id+".onError",msg);
127. }
128. }
129.
130. }
发表评论
-
AS3 经典的代码库
2013-03-29 16:39 03D引擎 Papervision3Dhttp://b ... -
AS3开源资源整理
2013-03-29 16:38 0一个使用Stage3D APIs 实现 ... -
如何自定义VideoPlayer的全屏行为
2012-12-13 16:58 1337Flex4中增加了一个视频播放组件:VideoPlayer,相 ... -
代码改变影片剪辑亮度、色调、高级、透明度的方法
2012-12-03 08:41 876通过Color类来改变影片颜色 亮度:(设置影片明暗效果) ... -
as3自己写皮肤
2012-11-30 09:47 0<?xml version="1.0" ... -
AS3 正则表达式详解
2012-11-30 09:27 01.新建正则表达式,有两 ... -
TweenLite用法
2012-11-30 09:26 0TweenLite 是一个缓动的类 ... -
AS3位图的加载、拷贝、绘制
2012-11-30 09:26 0建Bitmap可以是使用Bitmap ... -
AS3中的反射
2012-11-30 09:25 669什么是反射 反射 (Reflection) 是指在程序在运行时 ... -
AS3文本操作
2012-11-30 09:03 1238设置文本框的边框、背景与前景色 默认状态下,文本框的边框和背景 ... -
as3日期格式化以及htmlText的安全转义类
2012-11-30 08:57 1049package org.juke{ ... -
Flash AS3.0关于TextField的过滤,HTML格式,对齐,换行等介绍
2012-11-30 08:56 1386过滤文字输入 TextField.restrict = &q ... -
AS3碎裂重组特效
2012-11-26 15:04 892碎裂指的是图片的碎裂 那我们要先做的是就是得到这张图片,在a ... -
Flash AS3.0实例---接近鼠标的图片缓动效果
2012-11-26 15:02 1188当鼠标移动到图片的一定位置时,图片会缓冲移动到鼠标位置,在现 ... -
flex air 启动本地应用程序
2012-11-26 09:23 862在air 2.0中,可以利用NativeProcess启动本地 ... -
as3打开和保存本地文件
2012-11-26 08:52 2410package { import flash.displa ... -
FLV视频类播放器全屏切换完整AS代码示例
2012-11-21 10:53 842function setFullScreen() { ... -
as3冒泡排序
2012-11-20 09:12 0<?xml version="1.0" ... -
Flex在Image组件使用蒙板
2012-11-16 17:34 0Flex在Image组件使用蒙板 1.Flex SDK3.0 ... -
Flex导入Excel文件示例
2012-11-16 17:33 01.SDK3.0 2.导入文件用FileFilter过滤。由于 ...
相关推荐
源代码的设计者巧妙地利用了AS3.0的面向对象特性,构建了一个易于理解和扩展的框架。用户可以通过源代码学习如何用AS3.0实现动态图片加载、交互式导航、产品滑动展示等功能,这些都是服装网站中常见的设计元素。 在...
"时钟源代码 Flash as3.0" 时钟源代码 Flash as3.0是一个使用 ActionScript 3.0 编写的时钟程序,旨在帮助开发者快速创建一个时钟。该源代码提供了一个基本的时钟架构,包括时钟的基本组成部分,如时钟圆盘、时钟...
以上就是根据标题和文件名推测出的AS3.0类应用的相关知识点,具体实现细节需要查看源代码才能了解。通过学习和理解这些知识点,开发者可以更好地掌握AS3.0的类应用开发,创建出功能丰富的交互式内容。
在现代Web开发中,Flash(ActionScript 3.0,简称AS3.0)与JavaScript(JS)的交互是常见的技术需求,特别是在实现富互联网应用(RIA)时。这种交互能力使得网页上的Flash内容能够与JavaScript环境进行通信,从而...
AS3.0相册源代码是一个基于ActionScript 3.0编程语言的项目,用于创建一个展示图片的交互式相册。ActionScript是Adobe Flash Professional和Adobe Animate CC中的主要编程语言,主要用于开发富互联网应用(RIA)和...
1. **源代码**:开发者可能提供了AS3.0的源代码,供学习者研究和修改,以便理解双屏联动的实现原理。 2. **示例文件**:可能包括一个已经编译好的SWF文件,可以直接在Flash Player中运行,展示双屏联动的实例。 3. *...
总的来说,`TweenMax` 是AS3.0开发中的强大工具,无论是简单的平移还是复杂的动画序列,都能游刃有余地处理。通过掌握 `TweenMax` 的使用,开发者能够为应用程序增添丰富的视觉体验,提高用户体验。
as3.0跨域源码,需要结合服务器一起实现
这些源文件为初学者提供了宝贵的实践材料,你可以逐个研究每个特效的代码,理解它们如何运用AS3.0的基础知识来实现特定效果。通过这种方式,你可以加深对ActionScript 3.0的理解,提升编程技能,并激发创新灵感。 ...
开发者可以通过定义类来创建游戏对象,如角色、敌人、道具等,并通过继承实现代码复用,提高开发效率。 2. **事件驱动**:AS3.0采用事件驱动模型,游戏中的各种互动,如用户点击、游戏状态改变,都会触发相应的事件...
在这个“as3.0实现的一个碰撞类小游戏”中,我们将探讨AS3.0的核心特性以及如何利用这些特性来构建碰撞检测的游戏机制。 在AS3.0中,游戏开发的基础是事件驱动模型。游戏循环通常由一个主循环函数(如`enterFrame`...
在本文中,我们将深入探讨如何在AS3.0(ActionScript 3.0)中使用ExternalInterface类与JavaScript进行交互,特别是在实现一个自定义播放器的场景中。这个主题是针对那些希望在网页中集成Flash内容并与网页的...
5. **关闭连接**:当不再需要UDP连接时,记得调用NetConnection的close方法来释放资源。 对于Windows平台上的AS3应用,需要注意的是,由于浏览器的安全限制,Flash Player在默认情况下不允许在沙箱环境中使用UDP。...
开发者可以创建自己的计时器类,通过继承Timer并重写相关方法来实现特定的定时功能。 6. **BitmapData**: 尽管BitmapData不是严格意义上的抽象类,但它提供了一种处理像素数据的方式,可以被其他类如Bitmap和Filter...
1. **基础类和接口**:AS3.0中的Object类是所有其他类的基类,而接口定义了一组方法,但不提供实现。类关系图会展示这些基础类和接口,以及它们与其他类的关系。 2. **包结构**:AS3.0的类分布在不同的包中,如`...
3. 实现`draw()`方法,使用`Graphics`类的`beginFill()`、`moveTo()`和`lineTo()`方法来绘制每个扇形。为了实现3D效果,我们需要对每个扇形的角度进行适当调整,使其看起来有深度。 **3D效果**: 1. 为了模拟3D效果...
通过上述分析,我们了解到这个基于As3.0的贪吃蛇游戏是如何通过类和方法的设计来实现其核心功能的。通过这些基本的组件和逻辑,我们可以构建出一个简单但完整的贪吃蛇游戏。这对于初学者来说是一个很好的学习案例,...
《深入解析AS3.0对对碰游戏...通过对这个AS3.0对对碰游戏源代码的分析,开发者不仅可以掌握基础的AS3.0编程技巧,还能学习到游戏开发的通用流程和策略,对于想要进入游戏开发领域的初学者来说,是一个宝贵的实践案例。