在
库
中选择一个或多个元件,或在
舞台
上选择一个或多个元件实例。所选内容还可以包含位图。
右键单击所选内容,然后选择
“生成 Sprite 表”
。
在
“生成 Sprite 表”
对话框中,选择选项,然后单击
“导出”
。
有下列导出选项可用:
9
private
function
onImageLoaded(bd:BitmapData):
void
10
{
11
var
image:Image =
new
Image();
12
image.source =
new
Bitmap( bd );
13
addChild( image );
15
this
.bd =
bd;
16
parse();
17
}
19
private
function
parse():
void
20
{
21
//
需要两个文件同时存在才可以使用
22
if
( !xml || !bd )
return
;
24
var
list:XMLList =
xml.SubTexture;
25
var
n:int =
list.length();
26
var
item:XML;
27
for
(
var
i:int = 0; i < n; i++
)
28
{
29
item =
list[i];
30
//
<SubTexture name="image 216.png" x="0" y="0" width="80" height="70" pivotX="0" pivotY="0"/>
31
var
x:int =
int( item.@x );
32
var
y:int =
int( item.@y );
33
var
w:int =
int( item.@width );
34
var
h:int =
int( item.@height );
36
var
destRect:Rectangle =
new
Rectangle(x,y,w,h);
37
var
destPoint:Point =
new
Point(0,0
);
39
var
newBD:BitmapData =
new
BitmapData(w,h);
41
//
复制Sprite表里面需要到的位图
42
newBD.copyPixels( bd, destRect, destPoint );
44
//
检查是否复制成功
45
/*
var img:Image = new Image();
46
addChild( img );
47
img.source = new Bitmap( newBD ) ;
48
img.x = x;
49
img.y = y;
50
img.filters = [new GlowFilter()];
*/
51
}
如果是air程序
1 /**
2 * 把小图数据存到桌面assets目录下面
3 */
4 private function saveBD(bd:BitmapData, name:String):void
6 var ba:ByteArray = pngEnc.encode(bd);
8 var file:File = File.desktopDirectory.resolvePath("assets/" + name );
9 var fs:FileStream = new FileStream();
10 fs.open( file, FileMode.WRITE );
11 fs.writeBytes(ba);
12 fs.close();
在air程序里可以实现拖拽功能
* 拖拽功能,得到拖放进来的文件
protected function nativeDragDropHandler(arr:Array):void
trace(File(arr[0]).nativePath);
var name:String = File(arr[0]).nativePath;
// C:\Users\dzq\Desktop\test.xml
name = name.substring(0, name.indexOf(".") );
trace(name);
//置空,防止下次拖拽文件时,使用之前的.xml或.png文件
xml = null;
bd = null;
LoaderHelper.loadXML( name + ".xml", onXMLLoaded );
LoaderHelper.loadImage( name + ".png", onImageLoaded );
1 public class NativeDragHelper
4 /**
5 * NativeDragHelper.init(this, nativeDragDropHandler );
7 * protected function nativeDragDropHandler(arr:Array):void
10 trace(File(arr[0]).nativePath);
11 }
12 *
13 */
14 public static function init( target:InteractiveObject, nativeDragDropHandler:Function ):void
15 {
16 target.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, function(event:NativeDragEvent):void{
17 NativeDragManager.acceptDragDrop( target );
18 });
19 target.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, function(event:NativeDragEvent):void{
20 var arr:Array = event.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
21 nativeDragDropHandler(arr);
22 });
23 }