新项目中需要在mfc框架中播放swf,因此决定使用flash控件:
第一步:在本机安装flash10
Flash activex控件一般安装在用户系统目录下:C:\WINDOWS\system32\Macromed\Flash\
其中大版本号用数字表示,如9,10,11等,小版本号用小写字母表示,如a, b, c, d, e。如最新稳定版本为:Flash10e.ocx。
第二步:通过regsvr32.exe注册flash控件 Flash10e.ocx
在命令行中输入:regsvr32 C:\WINDOWS\system32\Macromed\Flash\Flash10e.ocx 注册该控件(注册之后就可以在项目中进行控件添加了)
注销控件的命令行为 regsvr32 /u C:\WINDOWS\system32\Macromed\Flash\Flash10e.ocx
第三步:注册完毕后,进入MFC项目,增加flash控件:
就是shockwave flash object控件。“建立对话框应用程序后,在主菜单里选择“工程->添加工程->components and controls”菜单选项,这时会弹出一个components and controls gallery文件选择对话框,里面有两个文件夹,一个是registered activex controls,一个是visual c++ components。选择第一文件夹后会出现一系列系统上已注册过的activex控件。在里面选择shockwave flash object,点击insert将它插入工程。因为在vc中插入工程的控件要通过一个类来操作,所以这时vc会提示你为这个控件指定一个类名,可以使用默认的类名就行了。插入后vc会自动把这个类加入工程里面。”
第四步:生成一个该控件的对象。
将shockwave flash object控件成功插入自己的工程后,在vc对话框编辑器的controls面板上就会多出图标,这个图标就是刚加入的控件的图标了。呵,这样接下来怎么用就再清楚不过了吧。和使用BUTTON、EDIT等其它windows控件一样,把它拉到对话框上,给它关联一个对象,对象的类就是我们刚才插入控件的时候所产生的类。我们可以使用这个类的成员函数来操纵这个对象,来进行flash动画的控制以及和自己的程序进行交互等操作了。这里假设关联的对象名为:m_FlashPlayer。
第五步:使用成员函数LoadMovie和Play来导入并播放动画。
m_FlashPlayer.LoadMovie(0, strMovieUrl);该函数用来将动画导入程序中,strMovieUrl为要播放的flash路径,要用绝对路径。 m_FlashPlayer.Play();调用该函数开始播放动画。在初始化对话框的函数里面加入这两个函数调用即可。
怎么样,现在运行程序,看到flash嵌入到你的程序里面了吧。还有几个常用的函数可以用来控制动画的播放,如GotoFrame(long FrameNum)可以转到FrameNum侦播放(侦数从0开始),StopPlay()可以停止播放。。。,还有很多,可以自己试试^_^。
上面的说明,已经能在MFC中实现播放flash了,但是实现交互还是不行。
实现与flash交互,有两种方法,1:模拟鼠标点击事件,就是控制鼠标去点击flash(我同学说他睡觉时想到的,而且真的能实现,服了!) 2、是要flash提供接口,这就需要有flash的源码,然后自己修改,增加外部函数接口。以下来自百度知道,照里边做,就可以实现外部接口:
MFC可以直接设置和得到flash中的变量。调用控件的GetVariable方法和SetVariable方法现。
想让flash主动往MFC传内容并且让MFC程序响应,可以在flash中调用fscommand函数,把内容传出去。此时MFC会收到控件的FSCommand事件和内容,就可以用MFC处理了。
想让MFC主动往flash传内容并且让flash响应,用控件的CallFunction方法。
想用这种方法需要先干一些事情:
在FLASH中,要用ExternalInterface.addCallback把能被外部调用的函数注册一下,例如:
import flash.external.ExternalInterface;
ExternalInterface.addCallback(“theFunctionToCall”, null, theFunctionToCall);
function theFunctionToCall()
{
//…
}
在MFC中,调用CallFunction方法,传入一个比较复杂的字符串,描述了要调用的函数的名称、参数等等,以XML的形式呈现。详情参考FLASH帮助的“外部 API 的 XML 格式”一文。
详情可以参考FLASH帮助里的“使用 ExternalInterface 类”的文章。
//——————————————————————————–
注意,此处CallFunction传递的参数为XML格式,如下:
m_flash.CallFunction(_T(“<invoke name=\”FullScreen\” returntype=\”xml\”>\<arguments></arguments>\</invoke>”));
FullScreen为flash里边的外部函数接口,此处并无参数,且无返回类型
本文来自: MFC如何调用Flash控件
视频应用进入移动设备
Flash Player进入手机,帮助网站实现在手机上上的视频播放,比如纽约时报。
移动设备输入支持
Flash Player10.1提供了一个虚拟键盘,如果移动设备不具备物理键盘的话,用户可以通过虚拟键盘进行无障碍的文本编辑。目前只支持Text Fileld,不支持TLF。
多点触摸和手势识别
开发者可以在最新的硬件和操作系统特性支持下,使用AS3的API增加的多点触碰和手势识别事件。
加速度感应器
一个新的Accelerometer类允许用户读取本地设备发送的加速度值(X,Y和Z轴)
优化的SWF内容管理(Mobile Only)
Flash Player 10.1专为移动设备做了CPU和内存的优化来提供最佳的用户体验。在HTML中,开发者可以指定哪些SWF优先加载,哪些内容延迟加载。延迟加载的实例将在HTML页面加载完毕之后加载,而视图之外和不可见的SWF将在他们出现之前加载。Flash Player也将在SWF不出现在可视区域的时候自动停止回放,来节省资源和电池。
睡眠模式(Mobile Only)
Flash Player的计时器将在移动设备进入休眠状态的时候自动减慢,来节省CPU和电池消耗,当设备被唤醒的时候恢复到默认值。
硬件加速
一个GPU基础的矢量渲染将在移动设备中代替软件渲染,这样会带来更快的渲染速度和更低的能耗。硬件加速包括了所有的渲染,包括矢量图形,位图,3D特效,滤镜,颜色变换,透明度,设备和嵌入文本,还有缓存为位图。
H.264视频硬件解码
Flash Player 10.1引入了一个硬件基础的H.264视频解码器来提供平滑的,高质量的视频。通过使用可用的硬件来解码可以减轻CPU消耗,提供更好的视频播放体验。
内存溢出管理
Flash Player 10.1将在SWF请求的内存资源无法满足时终止Player的运行来阻止浏览器崩溃,用户将得到一个通知来重新启动SWF内容,或者会看到一个通知来刷新页面。
AS3跨域访问,未设置 checkPolicyFile 标志错误
<Date: 2010-06-25> <Category: ActionScript 3.0, Adobe, Flash, Flex, Flex3, Flex4> 发表评论as3:跨域访问安全沙箱
在actionscript里,如果要从其它域里载入swf或数据的话,或者socket要连接服务端的话,就会遇到安全沙箱.在以下情况里(抄自as3 cookbook):
1.swf将要连接的服务器,必须与此swf在同一域中;
2.从网络打开的网页中的swf不能连接到本地服务器;
3.本地不受信任的swf不能连接任何服务器或载入任何文件.
4.swf被跨域载入了,但是不能用as控制其中的代码:
5.跨域载入变量,不行
AS3跨域访问,需要一个策略文件,但在加载此媒体时未设置 checkPolicyFile 标志
解决的方法有两个.
这里所说的方法,都是在被载入的域中进行的,一定注意.[当然了,你得有被载入文件或被连接服务器管理权限]
第一个方法:
1.如果被载入域是以http的方式来提供服务的,那就可以在被载入swf的as里用flash.system.Security.allowDomian(“允许改变此代码的网域”);
2.如果被载入域是以https的方式来提供服务的,那可以在被载入swf的as里用flash.system.Security.allowInsecureDomai(“允许改变此代码的网域”);
上面所说,解决的是开头所列举的第4个安全限制.
第二个方法:
这个方法比第一个方法更方便的解决了跨域被载入swf里as访问限制,而且还解决了跨域载入网页中的变量的安全问题:写访问域方针文件.
另外这个方法也可以解决socket的跨域连接服务器的安全限制.
如下:
<?xml version=”1.0″?>
<!DOCTYPE cross-domain-policy SYSTEM ‘http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd’>
<cross-domain-policy>
<allow-access-from domain=”网址或IP” to-ports=”80,开放的端口,…” />
</cross-domain-policy>
把此文件保存为crossdomain.xml放在被载入域的根目录下面,载入变量和访问被载入swf中的as时候,做动作的swf就会自动读取了.
to-ports是个可选参数,如果不写的话,默认的是开放web端口,也就是80.
但是在socket连接时,不但跨域方针文件要指定端口(因为一般都不会把80做为socket服务器端口),还得在as中明文载入跨域方针文件:flash.system.Security.loadPolicyFile(“跨域方针文件所在路径”);
注意了,上面所说的”跨域方针文件所在路径”,可以是在任何目录下面,而且它所能控制的就是所在目录和其子目录,权限不能达到上一层目录.
//对数组里面的两个元素进行批量清除的方法
function removeItems(arrList:Array,param1:Array):void
{
var _loc_2:Array = null;
var _loc_3:int = 0;
_loc_2 = [];
_loc_3 = param1.length – 1;
while (_loc_3 >= 0)
{
_loc_2.push(arrList.splice(param1[_loc_3], 1)[0]);
_loc_3 = _loc_3 – 1;
}
}// end function
//实例应用
var arr:Array = new Array();
arr = ["a","b","c","d","e","f"];
var arr_seleted:Array = new Array();
arr_seleted = [1,2];
//因为必须按照顺序做删除处理,所以要先进行排序
arr_seleted = arr_seleted.sort();
trace(arr);
removeItems(arr,arr_seleted);
trace(arr)
本文来自: 数组操作的一个方法
open-source project : Flex
Adobe APIs
主要包含corelib, mappr, flickr, youtube及加密等类库.
http://labs.adobe.com/wiki/index.php/ActionScript_3:resources:apis:libraries
as3awss3lib
与 Amazon S3 交互的 ActionScript 3.0 类库
http://code.google.com/p/as3awss3lib/
as3soundeditorlib
声音编辑类库
http://code.google.com/p/as3soundeditorlib/
as3ds
为游戏开发者整理的 AS3 数据结构
http://code.google.com/p/as3ds/
mecheye-as3-libraries
一组Flash游戏开发的AS3类库。
http://code.google.com/p/mecheye-as3-libraries/
APE
Actionscript的模拟物理引擎API
http://www.cove.org/ape/
As3Crypto
用 AS3 实现的密码系统类库,支持的算法主要包括 RSA,AES,DES,3DES,MD2,MD5,SHA-1,SHA-224,SHA-256 等等
http://crypto.hurlant.com/
FZip
让 AS3 能够加载标准ZIP格式的数据,并能解压其中的文件。
http://codeazur.com.br/lab/fzip/
ASCOLLADA
一个可以解析Collada文件格式的AS3类库,Collada 是一个开放原始码的专案,它可让3D资料以XML的型态储存,并让3D人员可以轻易携带和互换资料
http://code.google.com/p/ascollada/
Away3d
3D引擎
http://code.google.com/p/away3d/
Papervision3D
3D引擎
http://code.google.com/p/papervision3d/
uicomponents-as3
一个轻量级的 AS3 UI 组件库
http://code.google.com/p/uicomponents-as3/
Tweener
Full featured animation library
http://code.google.com/p/tweener/
asinmotion
AS3的一个动画类库,可以并行或线性的管理特效的运行.
http://code.google.com/p/asinmotion/
flest
RIA企业级的AS3应用程序开发框架, 应用了Controller, Factory, Command等多种设计模式, 并采用了高效、简洁、实用托管式设计特点。
http://code.google.com/p/flest/
Yahoo AS3 APIs
http://developer.yahoo.com/flash/as3_api_libraries.html
facebook-as3
访问 Facebook 平台的 AS3 API
http://code.google.com/p/facebook-as3/
Salesforce Flex Toolkit
http://wiki.apexdevnet.com/index.php/Flex_Toolkit
Twitter AS3 API
http://twitter.com/blog/2006/10/twitter-api-for-flash-developers.html
XIFF
XMPP client library
http://svn.igniterealtime.org/svn/repos/xiff/branches/xiff_as3_flexlib_beta1/
as3flickrlib
ActionScript 3.0 API for Flickr
http://code.google.com/p/as3flickrlib/
这段时间一直在弄flash的报表,在网上找到两个免费的Flash chart,功能比较强,能够直接在项目中使用。
1.amchart
官方地址:http://www.amcharts.com/
amchart是免费的flash chart组件。
2.open flash chart
官方地址:http://teethgrinder.co.uk/open-flash-chart/
open flash chart 不但是免费的,而且是开源的,你可以下载它的源代码,进行修改;
开源项目Swfdec-基于LGPL协议发布的开源flash播放库项目
开源Flash播放器Gnash项目的负责人
Flex开源项目的发展: 如免费的AMFPHP,Yahoo AS2 Library, Google flex code….
1), OpenLaszlo:一般被认为可能是FLEX替代品的是 [[OpenLaszlo]]和[[Ajax]]
技术。还可以参考一下早已是标准的[[SVG]]技术。
2), [http://www.globfx.com/products/neoswiff/ NeoSwiff]:从C#到SWF的编译器
3), [http://www.mtasc.org/ MTASC]:免费并开源的 AS 2 编译工具
4),ColdFusion: Macromedia 把一部份Flex 1.5的子集嵌入到了它的Coldfusion MX 7中间件平台中以供在Flash
forms中使用。虽然可以使用这个平台来开发RIA,但是它原来的目的只是为了开发丰富的forms应用,所以这个功能并不为Macromedia 所支持。
5), [[Ajax]], Aflax
6), [http://www.graniteds.org/ 开源的Granite Data Services graniteds]
7), [http://osflash.org/red5 开源JAVA的Red5 : Open Source Flash Server]
8), [http://www.amf-php.org AMFPHP],[http://maclema.com/assql/ Flash
直接连接MySQL的AS3驱动类]== 十二,Flex社区的开源的组件库项目 ==
[www.51it.org/zz/flash/flash2/200702/76762.html Flash互动电子地图制作手册]
[http://space.flash8.net/bbs/viewthread.php?tid=337491&extra=&page=1
发个电子地图的源代码]
[http://creativecommons.org/ 基于创用CC的开源媒体库]
[http://sourceforge.net/projects/flexsqladmin/ Flex SQL Admin开源]
[http://www.flexsqladmin.com/ Flex SQL Admin]是一个用Flex做的针对 Microsoft SQL Server
的在线查询分析器。提供了图形操作界面,关键字高亮等功能
[http://feeds.feedburner.com/~r/onflex/~3/61390417/jam-moving-to-flex-cookbook.php JAM]
[http://www.adobe.com/cfusion/communityengine/index.cfm?event=homepage&productId=2 Flex cookbook]
[http://www.riaforge.org/ RIAForge]
[http://www.cflex.net/ CFFLEX]
[http://code.google.com/p/flexlib/wiki/ComponentList Flex 2类库资源]:
该项目的目的是汇集Flex社区的努力为大家提供一个高质量的Flex UI组件库。
[http://flexbox.mrinalwadhwa.com/ flexBox Flex 2组件资源]
[http://www.flex.org/ Flex资源站]
[http://www.scalenine.com/ flex免费风格下载]
[http://www.adobe.com/cn/devnet/flex/ 中文Adobe Flex开发中心]
[http://www.adobe.com/products/flex/ Adobe Flex官方站点]
[http://www.ifbin.com/ IFBIN开源]
[http://ariaware.com/products/arp/ Flash平台,AS2的开放源码 RIA 框架: Arp]
== 参考 ==
[http://www.uncool.cn/blogs/read.php?166 FLEX地图应用教程之一]
[http://www.flashandmath.com
FLASH和算法,对编程的人来说算法的确是太重要了.嘿嘿,还有就是他基本上放的都是教程,哦,还有源代码,这就是动真格的.]
[http://www.asserttrue.com/articles/2007/10/17/silvafug-application-frameworks-presentation SilVaFUG Flex Application Frameworks Presentation Flex框架比较分析]
[http://www.adobe.com/devnet/flashmediaserver/articles/video_sharing_web_app_print.html 如何架设一个类似 YouTube 的小型视频分享站点,Creating a video sharing web application using Flex 2 and Flash Media Server 2]
[http://www.deepcast.net/wiki/ow.asp?p=Flex&a=edit Flex 学习站点汇总]
[http://www.5d.cn/Discover/origin/200609/4456.html ActionScript历史简单回顾]
[http://www.deepcast.net/wiki/ow.asp?p=Flex 本文最新版出处]
[http://www.riachina.com/showthread.asp?threadid=1002 迎接RIA时代的来临]
[http://azure.cn/PermaLink,guid,1d4b3ecb-e429-48dd-b9e5-1d2521acf573.aspx
RIA技术概览]
[http://blog.eshangrao.com/index.php/2006/09/06/274-flex2-bitmap
Flex2:使用BitmapData抓图]
[http://www.xflex.cn/blog/catalog.asp?cate=11 Flex2基础教程系列]
[http://www.5d.cn/Tutorial/flash/base/200609/4437.html Flex Quick Starts中文翻译]
[http://ria.richtechmedia.com/2007/02/14/%e6%96%b0%e7%89%88-flex-style-explorer-%e6%8e%a8%e5%87%ba%e4%ba%86/ 新版 Flex Style Explorer 推出了]
[http://www.k-zone.cn/zblog/post/log-2006-11-21-001.html 打造属于自己的Apollo]
[http://www.cnblogs.com/ly4cn/archive/2006/09/13/503412.html
用Flex2开发2D游戏(先试试2D性能)]
http://coenraets.com/index.jsp
[http://groups.yahoo.com/group/flexcoders/ Flexcoders - Flex 技术邮件列表]
[http://houseoffusion.com/groups/flex/ ColdFusion Flex邮件列表] at House of Fusion.
[http://www.cflex.net CFlex - Flex开发者交流社区]
[http://www.flexauthority.com/ Flex Authority - Adobe Flex 开发者站点]
[http://www.cfflex.com CFFLEX - Coldfusion/Flex 开发者站点]
[http://members.cox.net/midian/howto/flex+tomcat.htm 在Tomcat上设置Flex]
[http://www.jessewarden.com Jesse Warden - Adobe Flex开发者Blog站点]
[http://renaun.com/blog Renaun Erickson - Adobe Flex开发者Blog站点]
1. Cairngorm
介绍:简单来说,就是为方便FLEX开发企业级应用而开发的一个微架构。这个东西有什么用处?假如
你们项目比较复杂,需要3个开发员以上来共同开发,是不是需要一个约定好的开发方法?那么相信我,Cairngorm是一个最正统的选择(官方推荐),虽
然开始时有点难学(好像这论坛里有Cairngorm文档的中文翻译)。而做小型项目或项目是由你自己一个人开发的话,那,就斟酌考虑吧,因为或许项目比
较小的情况下,你会发现使用Cairngorm是一个累赘。不过即使开发不使用他,我建议有时间的话还是最好DOWN下来看看,毕竟Iteration:
two(被Adobe收编了)的大量企业级应用的design patterns还是很值得学习的。
官方网站:http://labs.adobe.com/wiki/index.php/Cairngorm
下载页面:http://labs.adobe.com/wiki/index.php/Cairngorm:Cairngorm2.2:Download
2. Papervision3D
介
绍:这个项目我是大半年前看到的,当时给我的感觉就是惊天地,泣鬼神啊。谁说FLASH不能做3D(哦,当时是
只有FLEX,不知道现在FLASH9能不能用这套类库),谁说FLASH的3D性能不好,谁说FLASH的3D编程很麻烦?那就看看Papervision3D吧。
Papervision3D是由巴西人Carlos差不多凭自己一人之力(后来的版本应该多了很多contributor),开发出了我认为是在
FLASH界第一成熟的3D引擎(其实之前也有sandy等基于FLASH的3D引擎,但我觉得都不如Papervision3D),现在有些商业性网站
也用这套引擎来做应用类了。我简单说说PV3D的优点:1,可以直接导入dae和ase文件(这些文件你用3DMAX或其他3D工具安装一个小插件
就可以导出的了),这意味着可以直接使用大部分专业3D工具制作出来的模型。2,性能好,AS3能有如此性能,确是超出我想像,3,
功能强,现在已经支持很多振奋人心的高级3D效果了,不知道最终版本会变成怎样呢 4,使用简单。基本上看一看例子就知道怎么做了。。
5,最重要的,它是开源的。有兴趣的可以先到下面这页面看看PV3D的例子(有一堆,呵呵)
http://blog.davr.org/pv3d-examples/
官方网站:http://www.papervision3d.org/ (好像暂时还只有很多条鱼=.=)或 http://blog.papervision3d.org/
下载页面:http://svn1.cvsdude.com/osflash/papervision3d/ (最好还是装个SVN来抓吧)
3. as3corelib
介绍:这是一套有Adobe官方开发的,用于AS3开发的以套类库,里面有很多很有用的东西啊,建议朋友可以慢慢挖,包括有MD5,SHA1加
密方法的AS3版,图片格式转换类(将图片转为位JPG,PNG等格式)还有JSON序列化等等有用的东西。
官方网站:http://actionscript3libraries.riaforge.org/
下载页面:http://code.google.com/p/as3corelib/downloads/list
4. FlexLib
介
绍:简单来说,这个就是一套包含很多FLEX高级组件的开源类库。觉得FLEX自带组件不够多?觉得FLEX自带的组件功能少?去下
载FlexLib最新版本并留意着他的发展吧。光是看开发组成员, darron.schall, Doug McCune, Ted Patrick, Mike
Chambers(都是偶像级的*.*)就不用怀疑这套开源组件的品质了,现在包含了有这些组件:AdvancedForm,
Base64Image, EnhancedButtonSkin, CanvasButton, ConvertibleTreeList,
Draggable Slider, Fire, Highlighter, HorizontalAxisDataSelector
ImageMap, PromptingTextInput, Scrollable Menu Controls,
SuperTabNavigator, Alternative Scrolling Canvases, Horizontal
Accordion, TreeGrid, FlowBox, Docking ToolBar
。这些组件即使用不着,看看高人的coding也是种享受啊,而且这些组件的源都看一遍后,估计以后需要什么组件,自己都能写个大
概了 ![]()
官方网站:http://code.google.com/p/flexlib/
下面页面:http://code.google.com/p/flexlib/downloads/list
5. APE
介绍:这是一套基于AS3的开源物理引擎类库。虽然现在还是alpha0.3版,而且基于FLASH的物理引擎很早就有了,但我还是觉得这套东
西最值得关注。粒子系统?碰撞反弹?重力加速?在这APE下都是小意思。不知道以后有没有可能和PV3D结合在一起呢….
官方网站:http://www.cove.org/ape/
下载:http://www.cove.org/ape/ape_a03.zip
6. ASWING
介
绍:放在最后,其实我是想隆重介绍的:) 这是一套开源的FLASH组件套,有AS2版和AS3版(也就是用于FLEX和FLASH
9),而且最重要的,这套组件是国人IILEY开发的,也是我见到的国人主持开发最成功的FLASH开源项目。估计看名字都能猜到了,这套
组件的使用方法和JAVA的SWING非常相似,其实这套组件非常适合以前熟悉SWING的JAVA程序员,想转到FLASH阵营,而又不想花时间
学FLEXFRAMEWORK的JAVA程序员,这个是一个很好的选择啊。而非JAVA成员,其实也有很多理由选择该套件,1.
里面该有的组件都有了(比FLEX FRAMEWORK还多啊,更不用和FLASH9的V3套比了),2.而且又有不错的样式修改方法,3.文件生成体
积比使用flex framework小多了(大概是一半左右)。估计你认真看了这套组件后,除了会感叹iiley的实力和努力外,还会开始有点
鄙视Adobe的组件开发组…(毕竟Adobe组件开发组人数肯定比iiley一个人多=.=)
官方网站:http://www.aswing.org/
下载页面:http://www.aswing.org/?page_id=4
本文来自: as3开源组件
基于Actionscript3的Google Map多点触摸全攻略
<Date: 2010-05-09> <Category: ActionScript 3.0, Adobe, Flash, Flex, Flex3, Flex4, 多点触摸> 发表评论这个教程的目的是实现对GoogleMap的多点触摸。
需要的软件:
1,安装touchlib,请用SVN checkout下面这个网址:http://touchlib.googlecode.com/svn/trunk/ 注意,要用SVN。
2,FlashCS3或者FlashCS4.
3,下载GoogleMapAPI,请到这里下载google map SDK
4,请到这里下载下面4个文件。TUIOObject.as,googlemap.fla,googlemap.as,TUIO.as;
5,如果没有多点触摸平台,请下载模拟器。
到此,文件都准备完毕,我们正式开工:
1,在D:\Program Files\Adobe\Adobe Flash CS3\zh_tw\Configuration\Components文件夹下新建一个文件夹,起名为”Google”,;
然后,把下载的GoogleMap SDK解压缩,找到一个叫 lib 文件夹,将文件夹下面的map_1_9.swc(注意,版本号可能有不同,比如,可能是map_1_8.swc,这不影响)文件拷贝到 D:\Program Files\Adobe\Adobe Flash CS3\zh_tw\Configuration\Components\Google文件夹下面。
注意,这一步的目的是往Flash里添加GoogleMap组件,所以,上面的文件地址可能与你电脑上的地址有出入,你根据自己的情况来。
2,建立GoogleMap的工作文件夹。
请到..\touchlib\AS3\int\app文件夹里,新建一个文件夹,起名为 GoogleAPI;
再到..\touchlib\AS3\int文件夹里面,把一个叫”flash”的文件夹拷贝到 ..\touchlib\AS3\int\app\GoogleAPI文件夹里面;
用下载下来的TUIO.as文件替换 ..\touchlib\AS3\int\flash\events文件夹里面的TUIO.as;
用下载下来的TUIOObject.as替换..\touchlib\AS3\int\flash\events文件夹里面的TUIOObject.as;
3,把googlemap.as和googlemap.fla文件拷贝到..\touchlib\AS3\int\app\GoogleAPI 下面。
4,打开googlemap.fla;此处注意,你可能需要从新导入GoogleMap library,方法:falsh>>window>>components,或者直接快捷键: Ctrl+F7,找到Google,然后把Google选项下的组件拖到舞台。
5,如果没有模拟起,请打开模拟器;
6,Ctrl+Enter, 发布swf文件,这时,swf文件应该要载入GoogleMap,然后,通过模拟器对GoogleMap实现多点触摸。
Flex开源框架汇总
Cairngorm是一个最早最为成熟的FLEX框架,现在已归为ADOBE门下.
它其实是一个ActionScript 3框架,不像Cairngorm,它并不是针对FLASH,FLEX或者其它ADOBE AS3.0类。它是一个用于开发基于FLASH的AS 3.0的任何程序.
Model-Glue是一种简单的MVC的FLEX框架,Model-Glue拥有COLDFUSION接口.它相比以上两款更为轻巧.
ServeBox Foundry ( sbasfoundry )是一个ActionScript 3 / Java框架针对Flex 2应用开发者.
Guasax Flex Framework (download)
Guasax是一个易用的程序框架,为保证新老FLEX应用的扩展.
ARP (Ariaware RIA Platform)是一个基于ActionScript的框架,它是一个Open Source Flash 项目.
Flest 是一个ActionScript3 / Flex框架.
以上的框架可以从EasyMVC, Adobe FAST 和 Joeberkovitz’s framework签出.
其它的一些还有
FlexUnit (一个用于ActionScript 3单元测试框架)
AS3CoreLib (一个 ActionScript 3.0 库包含强大的JSON 的包)
Granite DS (一个免费开源的,可以替代Adobe Data Services J2EE应用服务器 EJB3/Spring/Pojo 服务支持)
Aswing 国人iiley写的,结构类似于 Java Swing,体积小巧。
本文来自: FLEX as3 开源框架汇总
8 Classical ActionScript Classes About BitMap
<Date: 2010-04-30> <Category: ActionScript 2.0, ActionScript 3.0, Adobe, Flash, Flex, Flex3, Flex4> 发表评论Bitmap is an often used graphics file format in program development. Then it seems how to master it is very important. In fact there are many very useful classes about bitmap can help you to easily create a Bitmap objects. Following we have collected 8 classical BitMap classes for your reference. Hope you can enjoy them.
AS3 Scale9 Bitmap is helper class that lets you create scale9 sprites with bitmap data fill – originally this was not possible in Flash 9. The helper class creates a “fake” scale 9 sprite containing 9 shapes that scale according to user-defined scaling matrix. Extremely useful for user interface work (creating buttons, scalable UI elements etc.).
This class will allow you to create a pixellated copy of any display object. It allows for varying pixel sizes and caching of rendered pixels so you don’t have to redraw them every time.
It has detail code and examples show how the class works.
The AnimatedBitmap class provides functionality for Bitmap objects that are animated by using a series of still images. When creating a new AnimatedBitmap you provide a BitmapData object that contains an image that consists of the ’single-frame’ images for the animation.
CollisionDetection class is really simple to work with, there is a single static method called checkForCollision with four parameters. movieClip1, movieClip2 – The MovieClip instances to check for collision. alphaTolerance – a number from 0 to 255 that specifies the transparency tolerance when testing the collision. A higher number will increase the tolerance (ie. allow more transparent parts of the MovieClip to register collisions). Defaults to 255.
It is an updated version of the original DistortImage class for AS2, which allows you to programmatically distort images.
ImageLoader is a straightforward image loader. It simplifies the job of loading images by automatically creating a list of images being loaded, controlling its queue with priority features (by way of the LoadingQueue class), and by caching images locally using BitmapData instances. This means that when you try to load a new image, it actually loads the image, saves its BitmapData, and attaches the image to the container (with smooth turned on by default).
It is a simple class for creating a reflection below any type of displayObject in AS3.
[AS3,Event]实现 IEventDispatcher 接口的类模板
<Date: 2010-04-30> <Category: ActionScript 3.0, Adobe, Flash, Flex, Flex3, Flex4> 发表评论[AS3,Event]实现 IEventDispatcher 接口的类模板
package {
import flash.events.IEventDispatcher;
import flash.events.Event;
import flash.events.EventDispatcher;
/**
* 抽象的 EventDispatcher。
* 实现 IEventDispatcher 接口的模板。
*/
public class AbstractEventDispatcher implements IEventDispatcher {
protected var _listener:EventDispatcher;
public function AbstractEventDispatcher() {
_listener = new EventDispatcher(this);
}
public function hasEventListener(type:String):Boolean {
return _listener.hasEventListener(type);
}
public function willTrigger(type:String):Boolean {
return _listener.willTrigger(type);
}
public function addEventListener(
type:String, listener:Function, useCapture:Boolean=false,
priority:int=0.0, useWeakReference:Boolean=false):void
{
_listener.addEventListener(
type, listener, useCapture,
priority, useWeakReference);
}
public function removeEventListener(
type:String, listener:Function, useCapture:Boolean=false):void
{
_listener.removeEventListener(type, listener, useCapture);
}
public function dispatchEvent(event:Event):Boolean {
return _listener.dispatchEvent(event);
}
}
}
1.svn
svn:参见百度百科 http://baike.baidu.com/view/183128.htm?fr=ala0_1_1
搭建svn可以使用独立服务器或借助apache。如果是开源项目可以上 http://www.svnhost.cn/ 申请svn空间
2.增加flex的svn插件
点击flex的菜单-help-software updates-find and install 在弹出窗口中选择 Search for new features to install 点击下一步
选择右边的new remote site 在弹出窗口中填上 插件名字和插件地址 这里名字暂定为 svn 插件地址 http://subclipse.tigris.org/update_1.6.x
点击OK finish 接下来在弹出的窗口中勾你刚才填的插件名的选项 有红叉叉的选项去掉 按提示完成插件安装即可
3 在flex中使用svn
在flex面板的 flex navigater面板 的空白处点击右键 选择 import 这时在弹出的对话框中已经有SVN这一项了 选择“从SVN检出项目” 点击下一步
这是弹出“选择/新建位置”选择创建新的资源库位置 点击下一步 填上你的SVN地址,在这里我就用我的svn地址吧“svn://www.svnhost.cn/alienoooo”
点击下一步 选中你的svn 按照提示 你即可导入svn的项目 或在svn上新建项目了
4 上传或更新项目
在上传项目时特别注意 如果多人协作时很有可能你上传的代码会覆盖别人的代码 或你上传了错误的代码导致别人更新后无法编译
这里上传时最好是在一个功能已经完成的情况下上传,上传后通过团队相互测试 在进行bug修复
上传步骤 在 flex navigater 面板 的项目名处 点击右键 – Team -与资源库同步 这是开发面板会转到svn面板在syncheronize面板中发现有灰色向外的箭头
蓝色向内的箭头 或红色双向的箭头 这里 红色要特别注意了 应为它说明了你的代码与svn上的有冲突 这是你要双击它 即可在面板中看到你的代码与svn上的代码“对比照”这时你必须仔细比对每一个给出的不同点
而灰色表示无冲突上传可 蓝色表示有更新 可直接下载 在这里team的面板山的提交项最好不要用 最好在与资源库同步后在点击文件右键进行提交或更新 (红色时先修改 再更新 最后提交) 在提交时弹出的面板上一定要写上提交说名如修改或新增了什么功能。
在团队开发中最重要的是代码的注释 不然别人看懂你的代码需要很长的时间 最好在注释后加上你名字的缩写 这样别人知道这是你写的 可以直接问你
5.版本控制
由于每一次提交svn都会记录每一次的代码 和提交的注释 这是你点击as文件 就可以查看历史版本的代码了。
本文来自: Flex + svn 进行团队协作与版本控制
