其实有很多方法实现,这里就按播放器的版本从低到高的实现方法来说好了:
1.载入位图后duplicateMovieClip
如果播放器必须发布成<=7,就只能使用以下方法,原理就是载入一张位图,然后遍历duplicateMovieClip到舞台上。
var w = Stage.width;
var h = Stage.height;
var a:Number = Math.floor(w/img_width);
var b:Number = Math.floor(h/img_height);
for (var i:Number = 0; i<=b; i++) {
for (var j:Number = 0; j<=a; j++) {
bg_mc.duplicateMovieClip("bg_"+i+"_"+j, bg_mc.getNextHighestDepth(), {_x:j*img_width, _y:i*img_height});
}
}
2.载入位图draw后,生成bitmap平铺。
如果播放器可以发布成8,就可以使用以下方法。其实原理和1差不多,不过8开始引入了Bitmap,因为平铺的是bitmap,所以肯定比1更节约资源。
var bmpData:BitmapData = new BitmapData(img_width, img_height);
bmpData.draw(img_target);
for(var i:Number = 0;i<Math.ceil(h/img_height);i++)
{
for(var j:Number = 0;j<Math.ceil(w/img_width);j++)
{
var bmp:Bitmap = new Bitmap(bmpData);
bmp.y = img_height*i;
bmp.x = img_width*j;
}
}
3.载入位图draw后,通过位图填充功能填充graphic子对象。
如果播放器可以发布成9,就可以使用以下方法。9开始引入了位图填充,所以根本不用考虑什么平铺,直接就和Photoshop里的自定义图案填充一样方便。
var bmpData:BitmapData = new BitmapData(img_width, img_height);
bmpData.draw(img_target);
var graphic:Graphics = shell.graphics;
graphic.beginBitmapFill(bmpData);
graphic.drawRect(0,0,w,h);
graphic.endFill();
1.载入位图后duplicateMovieClip
如果播放器必须发布成<=7,就只能使用以下方法,原理就是载入一张位图,然后遍历duplicateMovieClip到舞台上。
var w = Stage.width;
var h = Stage.height;
var a:Number = Math.floor(w/img_width);
var b:Number = Math.floor(h/img_height);
for (var i:Number = 0; i<=b; i++) {
for (var j:Number = 0; j<=a; j++) {
bg_mc.duplicateMovieClip("bg_"+i+"_"+j, bg_mc.getNextHighestDepth(), {_x:j*img_width, _y:i*img_height});
}
}
2.载入位图draw后,生成bitmap平铺。
如果播放器可以发布成8,就可以使用以下方法。其实原理和1差不多,不过8开始引入了Bitmap,因为平铺的是bitmap,所以肯定比1更节约资源。
var bmpData:BitmapData = new BitmapData(img_width, img_height);
bmpData.draw(img_target);
for(var i:Number = 0;i<Math.ceil(h/img_height);i++)
{
for(var j:Number = 0;j<Math.ceil(w/img_width);j++)
{
var bmp:Bitmap = new Bitmap(bmpData);
bmp.y = img_height*i;
bmp.x = img_width*j;
}
}
3.载入位图draw后,通过位图填充功能填充graphic子对象。
如果播放器可以发布成9,就可以使用以下方法。9开始引入了位图填充,所以根本不用考虑什么平铺,直接就和Photoshop里的自定义图案填充一样方便。
var bmpData:BitmapData = new BitmapData(img_width, img_height);
bmpData.draw(img_target);
var graphic:Graphics = shell.graphics;
graphic.beginBitmapFill(bmpData);
graphic.drawRect(0,0,w,h);
graphic.endFill();