Feathers基于Starling的组件研究笔记(三)

1、.fa /.pa/.ba都是由AIR生成的,自定义格式的文件

 

2、技巧:取得一个元素也可以通过删除它来取得:

var index:int = uint((e.currentTarget as RadioButton).name.split("_").pop());

 

3、AIR文件拖放:

this.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER,onDragIn);//拖动的文件被拖到目标上的时候触发

this.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP,onDrop);//拖动的文件在拖到目标上,并且松开的时候触发

this.addEventListener(NativeDragEvent.NATIVE_DRAG_EXIT,onDragExit);//拖动的文件离开目标的时候触发

 

4、获取被拖进来的文件:

public function onDrop(e:NativeDragEvent):void

{

var dropfiles:Array = e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;

if(dropfiles.length > 0)

{

var file:File = dropfiles[0] as File;

}

}

 

5、flash.filesystem.File.separator():String

[只读] 主机操作系统的路径组件分隔符。

在 Mac OS 和 Linux 中,这是正斜杠 (/) 字符。在 Windows 中,它是反斜杠 (\) 字符。

 

注意:当在字符串中使用反斜杠时,请记住键入该字符两次(例如“directory\\file.ext”)。

 

 

6、GeneralResourceManager也可以加载本地文件(AIR中),它都是以二进制的形式进行加载的

 

7、打包工具把XML、图片、JSON都写成一个二进制文件。并进行压缩:

flash.utils.ByteArray.compress(algorithm:String="zlib"):void

压缩字节数组。将压缩整个字节数组。读取文件的时候,再解压

 

8、打包图片的规则是:

A、写入图片数据长度

B、写入图片数据

C、写入图片宽

D、写入图片高

 

9、BinaryLoader使用URLStream来加载文件

URLStream 类提供对下载 URL 的低级访问。数据一下载,便可随即为应用程序使用,这和使用 URLLoader 时需要等到整个文件下载完不同。并且 URLStream 类还允许在完成下载前关闭流。已下载文件的内容将作为原始二进制数据提供。

加载完成后使用public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void得到ByteArray

 

10、加载文件时GeneralResourceManager会

 

info = new GeneralResourceInfo();

info.url = url;//通过URL确定文件类型

 

加载完成后BinaryLoader会调用info.resource方法,判断资源类型进行对应的解析

如果资源是.fa\.pa\.ba的文件,就会生成BAAnimationInfo、PAAnimationInfo、FAAnimationInfo类来进行解析

 

11、Feathers PanelScreen一般不进行实例化,而是与ScreenNavigator配合一起使用

this._navigator = new ScreenNavigator();

 

this._navigator.addScreen(BUTTON, new ScreenNavigatorItem(ButtonScreen,

{

complete: MAIN_MENU,

showSettings: BUTTON_SETTINGS

}));

 

12、progressBar.direction = ProgressBar.DIRECTION_VERTICAL;

确定进度条填充的方向为竖直的,但是你得设置progressBar的宽高看起来像竖直的

 

13、feathers.core.ToggleGroup:控制选择中的两个或更多个iToggle的情况下,只有一个可被选择

 

 

14、Screen,ScreenNavigato,ScreenNavigatorItem这3个组合一起使用来实现手机页面的功能

 

 

15、Feathers ScrollBar和SimpleScrollBar的区别:

ScrollBar是一个普通的平常在网页上常见的滚动条

SimpleScrollBar是一个只有一个滑块,没有背景,没有上下按钮的滚动条,适合手机上用

 

16、Feathers Scroller

不会被作为一个独立的容器或组件。通常意味着另一个组件的超类需要支持滚动

比如ScrollText-->Scroller、ScrollContainer-->Scroller

 

17、直接btn.defaultSkin = new Image(Texture.fromBitmapData((new BtnClass1).bitmapData));

btn.defaultSelectedSkin = new Image(Texture.fromBitmapData((new BtnClass2).bitmapData));

给换钮换肤是不生效的。

实际上是因为Button在addChil的时候会把theme中的默认皮肤方法赋值给stateToSkinFunction,

所以要使我们设置生效的方法就是在addChild我们的button之后将stateToSkinFunction赋值为null

 

18、clearInitializerForClass可以清除setInitializerForClass引起的引用

 

19、会先执行tabBar.tabFactory函数,才执行主题中的tabInitializer,所以在tabBar.tabFactory所设置的皮肤都被覆盖无效


点击打开链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值