实例是将一张红颜色和一张蓝颜色的图片(有透明通道的80*80png),通过bitmapData拼接成一张红蓝图片。将生成的swf文件分别运行在flashplayer10.1(flashplayer 10.0也同样)和flashplay10.2中你将会看到(第一张是我想看到的结果):
package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.system.Capabilities;
import flash.text.TextField;
public class FlashPlayerDemo extends Sprite
{
[Embed(source="red.png")]
private var class_red:Class;
[Embed(source="blue.png")]
private var class_blue:Class
public function FlashPlayerDemo()
{
var red:BitmapData=(new class_red()).bitmapData;
var blue:BitmapData=(new class_blue()).bitmapData;
var color:BitmapData=new BitmapData(blue.width,red.height+blue.height);
var bitmap:Bitmap=new Bitmap(color);
bitmap.y=15;
addChild(bitmap);
color.copyPixels(red,new Rectangle(0,0,blue.width,blue.height),new Point(0,0))
var temp:BitmapData=new BitmapData(color.width,color.height,true,0)
temp.copyPixels(blue,new Rectangle(0,0,blue.width,blue.height),new Point(0,0),null,null,true);
color.draw(temp);
label();
}
private function label():void{
var txt:TextField=new TextField();
txt.text=Capabilities.version;
txt.height=15;
this.addChild(txt);
}
}
}
为了方面看效果建议装2个浏览器,并且两个浏览器的所装的flashplayer不同,flashplayer10.2,flashplayer10.1.
(你先不问考虑我的代码为什么这么写,返正这么写是有问题的。)
来这里下载完整源代码:http://bbs.9ria.com/thread-72415-1-1.html