FLASH
获取图片二进制数据及其字符串进行互转
这里获取一个本地的文件图片后,显示在场景里,并且获取记录这个图片的原始二进制数据,通过这个BitmapData来获取这个图片的,貌似可以用作深度复制,不过我最近使用的是将二进制字节转码Base64字符串解码.存储的时候体积大概会增加30%左右,不过还好啦! 继续阅读请点击…
在AS3中设置ComboBox的字体和宽高
AS3组件ComboBox的字体类型和字体大小也要用TextFormat,而且要分别对TextField和dropdown设置该TextFormat,设置dropdown的宽和高,ComboBox有个 dropdownWidth属性,却没有对应的dropdownHeight属性,而是要使用dropdown的rowHeight属性!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | // combox 是一个ComboBox组件(Component) // 设置它的宽度和高度 combox.width = 300 ; combox.height = 48 ; // 添加几个选项 combox.addItem( { data : 1 ,label: '测试项目一' } ) ; combox.addItem( { data : 2 ,label: '测试项目二' } ) ; combox.addItem( { data : 3 ,label: '测试项目三' } ) ; // 建立一个TextFormat实例 var tft: TextFormat = new TextFormat ( ) ; // 设置其字体大小为32 tft.size = 32 ; // 设置其字体为微软雅黑 // 建议大家使用相应的英文名字 tft.font = "宋体" ; // 设置ComboBox的样式 combox.textField.setStyle('textFormat',tft); // 设置下拉选项的样式 combox.dropdown.setRendererStyle( "textFormat" , tft) ; // 设置下拉选项的行高 combox.dropdown.rowHeight = 48 ; // 设置下拉选项的宽度 // 可以和ComboBox不一样哦 combox.dropdownWidth = 360 ; |
Flash计算文件大小裁剪小数点与获取单位
以前PHP写过一个类似的函数,现在换到AS3写,可以输入一个字节数的大小,可以输出类似于,5.03 KB,30.5 TB等这样的结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | /** * 给一个文件的大小,换算出大小 * @param bytes 文件的大小,字节数 * @param decimals = 1 小数点后的 * @return */ public static function getFileSize(bytes:Number, decimals = 1):String { var FileSizeName:String = "Bytes"; var endBytes:Number; if (bytes >= 1152921504606846976) { FileSizeName = "EB"; endBytes = bytes / 1152921504606846976; }else if (bytes >= 1125899906842624) { FileSizeName = "PB"; endBytes = bytes / 1125899906842624; }else if (bytes >= 1099511627776) { FileSizeName = "TB"; endBytes = bytes / 1099511627776; }else if (bytes >= 1073741824) { FileSizeName = "GB"; endBytes = bytes / 1073741824; }else if (bytes >= 1048576) { FileSizeName = "MB"; endBytes = bytes / 1048576; }else if (bytes >= 1024) { FileSizeName = "KB"; endBytes = bytes / 1024; }else { return bytes + " " + FileSizeName; } var decimalsNum:Number = 1; for (var i:int = 0; i < decimals; i++) { decimalsNum = decimalsNum * 10; } endBytes = Math.round(endBytes * decimalsNum) / decimalsNum; return endBytes + " " + FileSizeName; } |
Flash使用AMF与PHP通信
1, 下载 amfphp 及其示例代码 : http://www.amfphp.org/
2, amf核心放web目录,示例代码中的 services 放核心对应目录下
3, 修改 Main.as 的 gateway:String = “http://127.0.0.1/amfphp/gateway.php” 指向 web 目录
4, 修正: 核心中默认打开了session,不要就删掉session_start()
如果数据库是UTF-8编码,gateway.php中的编码设定: $gateway->setCharsetHandler(“none”, “ISO-8859-1″, “ISO-8859-1″);
作为加速,可加载AMFEXT扩展,使服务器支持AMF格式的编/解码:
http://www.teslacore.it/wiki/index.php?title=AMFEXT
TweenLite 使用详解
TweenLite 是一个缓动的类包,功能强大,并且易于使用,为了更多的(E文欠佳的、初学的)朋友了解它,使用它,特此翻译了一下TweenLite 类文档中的说明文件,主要是对参数的说明,希望对大家有用。 继续阅读请点击…
TextInput的属性restrict(约束,限定)
1 2 | TextInput.restrict = "0-9";//只能输入数字 TextInput.restrict = "0-9.";//加上小数点 |
重设对象的深度:setChildIndex
setChildIndex的方法格式为:
1 2 3 4 5 6 7 8 9 | 容器对象.setChildIndex(显示对象, 指定深度); //置顶的用法 容器对象.setChildIndex(显示对象, (容器对象.numChildren-1)); //置底的用户 容器对象.setChildIndex(显示对象, 0); //插入到其他显示对象的前面 容器对象.setChildIndex(显示对象, (容器对象.getChildIndex(其他显示对象))); //插入到其他显示对象的后面 容器对象.setChildIndex(显示对象, (容器对象.getChildIndex(其他显示对象) - 1)); |
解决类,对象第一帧导出出现的各种问题
Flash的“在第一帧导出”导致第一帧内容大大增加!
在第一帧导出,会导致在Loading前就把你用来attach的MC、声音、V2组件……全部下载了。
这往往导致 Loading总是从很大的数字开始显示,比如60%,而之前,屏幕上显示空白!
如果直接去掉使用第一帧导出,则可能使你的剪辑不被包含到swf文件中。
解决方法:
情况1:V2组件
去掉库中组件的“第一帧导出”选项,然后在“发布设置”-”AS版本”-“设置”-“导出用于类的帧”中写一个在loading之后的帧号。
情况2:声音
去掉库中声音的在第一帧导出。
新建一个空剪辑,然后把需要的声音全部放到剪辑的第一帧以外的帧。
把剪辑放在loading之后使用之前的某一帧,并且让剪辑仅仅持续一帧,这样剪辑中的声音是不会得到播放的,但是肯定会被包含到 swf文件中。
情况3:MC
同2方法。直接把要的mc放置loading之后使用之前的某一帧,并且放在舞台之外。
一般用情况1的办法就可以解决全部的问题了.
参加了奥多比平台技术峰会
参加2天的奥多比平台技术峰会,会议日程安排的非常满,观众也非常多,其中还包含了35%左右是由英文讲解的,都是Adobe重磅人物的讲解,不过听的一头雾水.特别是Bill Heil那个英语讲的真够流利的,噼里啪啦了一个多小时.Deepa Subramaniam还好有个助手帮忙,算了听明白了一些.
第一天去的时候,很多人都等着入场,由4,5个换卡口同时为参会人员换卡,还是排着非常长的队伍,换卡会获得背包或T恤,还有小册.等换好卡进会场的时候已经没有座位了,只好立在会场边,好累好累,NND~~很多人都立不住,做在了边上的地上.
基本上一半都是英文,大会配备了红外语言切换装置,用作同声翻译到中文,这个设备像个收音机,不过原配的耳机声音太小了,只好用我的入耳式耳机了.
这个是我第一条的战果,1G的U盘还不错,第二套也就一个胸针,别的都是笔啊宣传单什么的!二顿午餐是吃的类似利华最次的那种盒饭,不过配备了酸奶,矿泉水大会到是准备了很多,不过我也不爱喝水,T_T
半天的大会主要是推广Adobe的CS5和一些新产品,新的应用,在剩余的1天半分了4个学堂和实践课,进行分门别类的演讲.主要是一些经验和粗略的一些解决方案.Sina相关的学堂最恶心,不过让我参加了一堂,一半都在说他们那个微博,搞无语了.另一半都是说些没用的东西.大会Flex的内容非常多.
获取被加载SWF的帧频等信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | var my_loader:Loader = new Loader(); my_loader.load(new URLRequest("swf1.swf")); my_loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler); my_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, _SHOW); function initHandler(event:Event):void { var loader:Loader = Loader(event.target.loader); var info:LoaderInfo = LoaderInfo(loader.contentLoaderInfo); trace(info.frameRate); stage.frameRate = info.frameRate; addChild(loader); } function _SHOW(e:Event):void { } //获取被加载SWF的帧频用: var info:LoaderInfo = LoaderInfo(loader.contentLoaderInfo); trace(info.frameRate); //将被加载SWF的帧频赋值给主影片的帧频。 stage.frameRate = info.frameRate; //动态改变帧频。 stage.frameRate =24 |
(转)AS3应用程序模块化开发与ApplicationDomain
原文:http://eidiot.net/2007/06/03/applicationdomain/
当程序越来越大,我们需要把它拆分成多个swf,在需要的时候动态加载。拆分时应该尽量把不同的类编译进唯一的swf,避免因swf文件增多而使整个程序的文件尺寸增大。按此原则可以拆分出以下两种swf,借助 ApplicationDomain 共享其代码和资源。
- 模块(Module)
按照程序逻辑,可以拆分出多个“功能模块”,如“注册”、“管理”等等;按照游戏或社区类程序的关卡或场景,可以拆分出不同的“场景模块”。这些模块不是主程序运行必须的,只在需要的时候加载。 - 运行时共享库(RSL)
主场景或者多个模块通用的资源,比如位图、声音、设计好的页面元素等,可作为“库”在主程序运行前加载。可以整套更换的皮肤(skin)只需先加载一套。
Flash CS4网页中Flash背景透明
网页中flash背景透明不是在做flash的时候设置的,而是在网页中插入flash的设置的,在插入的时候默认为不透明的!
设置的方法就是把object标签内wmode属性的值设置为transparent,设置HTML模板变量使Flash透明. 继续阅读请点击…
Flash在浏览器里调试获取trace
![]()
Flash的调试功能不是十分好用,有点像当年的PHP,不是那么健全,除了trace我们基本无计可施,当发布到网路后,更是难以调试,除了一些开源的调试类库REDbug,Alcon可以帮助我们外,我们还可以在火狐里安装Firebug,然后在这个基础上安装FlashTracer(在Firefox的工具->附加组件->获取附加组件里查询添加就可以了[插件路径][官房网站]),这样就可以在打开Firebug后获取到Flash里的trace的数据了.
Trace Log就是trace()函数输出的内容,如果觉得刷的太多,可以使用Clear清除下屏幕,或点击Pause/Play切换是否刷新内容,这个功能只是暂停显示的刷新,而当Play的时候还是会把全部输出的都显示出来的,点击Open就可以把trace()的内容拷贝到文本了.
ActionScript3开源库大全
这里收集了很多的AS3的开源类库,供大家学习,了解.主要分APIs、Libs、Components | Actionscript 3.0 Class | 2D & 3D Engine | FrameWorks | Flash & Flex Tools、Servers | Flex Explorers (大部分为Flex2版本,但同样适用于Flex3)
ActionScript的API文档生成工具ASDoc
原文地址: http://livedocs.adobe.com/flex/3/html/asdoc_9.html
译者注:ASDoc是adobe官方提供的ActionScript的API文档生成工具,现在已经集成在FlexBuilder3中
打开ASDoc工具的方法:
1.安装FlexBuilder3后
打开 开始—>程序—>Adobe—>Adobe Flex 3 SDK Command Prompt
继续阅读请点击…










