FLASH

获取图片二进制数据及其字符串进行互转

作者:嘎嘎 2010-08-23,10:07 下午 周一 (0) Comment

  这里获取一个本地的文件图片后,显示在场景里,并且获取记录这个图片的原始二进制数据,通过这个BitmapData来获取这个图片的,貌似可以用作深度复制,不过我最近使用的是将二进制字节转码Base64字符串解码.存储的时候体积大概会增加30%左右,不过还好啦! 继续阅读请点击…

类别 : FLASH (阅览:71 次) Tags:

在AS3中设置ComboBox的字体和宽高

作者:嘎嘎 2010-08-23,09:55 下午 周一 (0) Comment

  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 (阅览:45 次) Tags:

Flash计算文件大小裁剪小数点与获取单位

作者:嘎嘎 2010-08-16,12:16 上午 周一 (0) Comment

以前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 (阅览:74 次) Tags:

Flash使用AMF与PHP通信

作者:嘎嘎 2010-08-12,02:25 下午 周四 (0) Comment

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

继续阅读请点击…

类别 : FLASH,PHP (阅览:122 次) Tags:

TweenLite 使用详解

作者:嘎嘎 2010-05-31,06:15 下午 周一 (0) Comment

TweenLite 是一个缓动的类包,功能强大,并且易于使用,为了更多的(E文欠佳的、初学的)朋友了解它,使用它,特此翻译了一下TweenLite 类文档中的说明文件,主要是对参数的说明,希望对大家有用。 继续阅读请点击…

类别 : FLASH (阅览:268 次) Tags: ,

TextInput的属性restrict(约束,限定)

作者:嘎嘎 2010-05-19,05:37 下午 周三 (0) Comment
1
2
TextInput.restrict = "0-9";//只能输入数字
TextInput.restrict = "0-9.";//加上小数点
类别 : FLASH (阅览:252 次) Tags:

重设对象的深度:setChildIndex

作者:嘎嘎 2010-05-18,05:07 下午 周二 (0) Comment

setChildIndex的方法格式为:

1
2
3
4
5
6
7
8
9
容器对象.setChildIndex(显示对象, 指定深度);
//置顶的用法
容器对象.setChildIndex(显示对象, (容器对象.numChildren-1));
//置底的用户
容器对象.setChildIndex(显示对象, 0);
//插入到其他显示对象的前面
容器对象.setChildIndex(显示对象,  (容器对象.getChildIndex(其他显示对象)));
//插入到其他显示对象的后面
容器对象.setChildIndex(显示对象,  (容器对象.getChildIndex(其他显示对象) - 1));
类别 : FLASH (阅览:316 次) Tags:

解决类,对象第一帧导出出现的各种问题

作者:嘎嘎 2010-04-30,11:47 下午 周五 (0) Comment

Flash的“在第一帧导出”导致第一帧内容大大增加!
在第一帧导出,会导致在Loading前就把你用来attach的MC、声音、V2组件……全部下载了。
这往往导致 Loading总是从很大的数字开始显示,比如60%,而之前,屏幕上显示空白!
如果直接去掉使用第一帧导出,则可能使你的剪辑不被包含到swf文件中。

解决方法:
情况1:V2组件
去掉库中组件的“第一帧导出”选项,然后在“发布设置”-”AS版本”-“设置”-“导出用于类的帧”中写一个在loading之后的帧号。
情况2:声音
去掉库中声音的在第一帧导出。
新建一个空剪辑,然后把需要的声音全部放到剪辑的第一帧以外的帧。
把剪辑放在loading之后使用之前的某一帧,并且让剪辑仅仅持续一帧,这样剪辑中的声音是不会得到播放的,但是肯定会被包含到 swf文件中。
情况3:MC
同2方法。直接把要的mc放置loading之后使用之前的某一帧,并且放在舞台之外。
一般用情况1的办法就可以解决全部的问题了.

类别 : FLASH (阅览:333 次) Tags:

参加了奥多比平台技术峰会

作者:嘎嘎 2010-04-23,10:01 上午 周五 (0) Comment

DSC_8094
  参加2天的奥多比平台技术峰会,会议日程安排的非常满,观众也非常多,其中还包含了35%左右是由英文讲解的,都是Adobe重磅人物的讲解,不过听的一头雾水.特别是Bill Heil那个英语讲的真够流利的,噼里啪啦了一个多小时.Deepa Subramaniam还好有个助手帮忙,算了听明白了一些.
第一天去的时候,很多人都等着入场,由4,5个换卡口同时为参会人员换卡,还是排着非常长的队伍,换卡会获得背包或T恤,还有小册.等换好卡进会场的时候已经没有座位了,只好立在会场边,好累好累,NND~~很多人都立不住,做在了边上的地上.
同声翻译,红外线收听器
  基本上一半都是英文,大会配备了红外语言切换装置,用作同声翻译到中文,这个设备像个收音机,不过原配的耳机声音太小了,只好用我的入耳式耳机了.
战果
  这个是我第一条的战果,1G的U盘还不错,第二套也就一个胸针,别的都是笔啊宣传单什么的!二顿午餐是吃的类似利华最次的那种盒饭,不过配备了酸奶,矿泉水大会到是准备了很多,不过我也不爱喝水,T_T
DSC_8117
  半天的大会主要是推广Adobe的CS5和一些新产品,新的应用,在剩余的1天半分了4个学堂和实践课,进行分门别类的演讲.主要是一些经验和粗略的一些解决方案.Sina相关的学堂最恶心,不过让我参加了一堂,一半都在说他们那个微博,搞无语了.另一半都是说些没用的东西.大会Flex的内容非常多.

类别 : FLASH (阅览:338 次) Tags:

获取被加载SWF的帧频等信息

作者:嘎嘎 2010-04-06,06:33 下午 周二 (0) Comment
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
类别 : FLASH (阅览:363 次) Tags:

(转)AS3应用程序模块化开发与ApplicationDomain

作者:嘎嘎 2010-03-10,06:45 下午 周三 (0) Comment

原文:http://eidiot.net/2007/06/03/applicationdomain/
  当程序越来越大,我们需要把它拆分成多个swf,在需要的时候动态加载。拆分时应该尽量把不同的类编译进唯一的swf,避免因swf文件增多而使整个程序的文件尺寸增大。按此原则可以拆分出以下两种swf,借助 ApplicationDomain 共享其代码和资源。

  • 模块(Module)
    按照程序逻辑,可以拆分出多个“功能模块”,如“注册”、“管理”等等;按照游戏或社区类程序的关卡或场景,可以拆分出不同的“场景模块”。这些模块不是主程序运行必须的,只在需要的时候加载。
  • 运行时共享库(RSL)
    主场景或者多个模块通用的资源,比如位图、声音、设计好的页面元素等,可作为“库”在主程序运行前加载。可以整套更换的皮肤(skin)只需先加载一套。

继续阅读请点击…

类别 : FLASH (阅览:436 次) Tags:

Flash CS4网页中Flash背景透明

作者:嘎嘎 2010-03-04,12:58 上午 周四 (0) Comment

网页中flash背景透明不是在做flash的时候设置的,而是在网页中插入flash的设置的,在插入的时候默认为不透明的!

设置的方法就是把object标签内wmode属性的值设置为transparent,设置HTML模板变量使Flash透明. 继续阅读请点击…

类别 : FLASH (阅览:814 次) Tags:

Flash在浏览器里调试获取trace

作者:嘎嘎 2010-03-01,05:50 下午 周一 (0) Comment

image
  Flash的调试功能不是十分好用,有点像当年的PHP,不是那么健全,除了trace我们基本无计可施,当发布到网路后,更是难以调试,除了一些开源的调试类库REDbug,Alcon可以帮助我们外,我们还可以在火狐里安装Firebug,然后在这个基础上安装FlashTracer(在Firefox的工具->附加组件->获取附加组件里查询添加就可以了[插件路径][官房网站]),这样就可以在打开Firebug后获取到Flash里的trace的数据了.
  Trace Log就是trace()函数输出的内容,如果觉得刷的太多,可以使用Clear清除下屏幕,或点击Pause/Play切换是否刷新内容,这个功能只是暂停显示的刷新,而当Play的时候还是会把全部输出的都显示出来的,点击Open就可以把trace()的内容拷贝到文本了.

类别 : FLASH (阅览:536 次) Tags:

ActionScript3开源库大全

作者:嘎嘎 2010-03-01,04:10 下午 周一 (0) Comment

这里收集了很多的AS3的开源类库,供大家学习,了解.主要分APIs、Libs、Components   | Actionscript 3.0 Class   | 2D & 3D Engine    | FrameWorks    | Flash & Flex Tools、Servers  | Flex Explorers (大部分为Flex2版本,但同样适用于Flex3)

继续阅读请点击…

类别 : FLASH (阅览:786 次) Tags:

ActionScript的API文档生成工具ASDoc

作者:嘎嘎 2010-02-22,09:02 下午 周一 (0) Comment

原文地址: 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
继续阅读请点击…

类别 : FLASH (阅览:703 次) Tags: