FLASH8新技术实现横向卷轴

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

7以前,FLASH游戏,遇到大位图的背景移动明显会显的比较吃力,会占用比较多的CPU资源。而且在控制移动速度方面也非常的困难。好一点的解决办法是把位图分割成小块,然后分块移动,但也是非常的麻烦。

好在8里提供了BitmapData对象,利用这个对象,为这一问题提供了很好的解决方案。当熟练使用该对象以后,无论多么大的位图都可以流畅的显示出来。当然目前的版本非常的简单,只有一个方向的移动方式,且不支持动态控制速度。(类似双截龙一样的卷轴背景),但一旦你对这些代码理解以后,相信做起来并不难。

这个组件的代码非常简单。

importflash.display.BitmapData;

importflash.geom.Rectangle;

importflash.geom.Point;

logo=flash.display.BitmapData.loadBitmap(pic);

w1=logo.width;

h1=logo.height;

th=h1-h;//th就是要显示的区域的最左上角纵坐标,灵活的控制它的大小可以实现对背景的控制

this.createEmptyMovieClip("holder_mc",1);

varbitmap_1=newBitmapData(w,h,false,0xFFFFFFFF);

holder_mc.attachBitmap(bitmap_1,1);

this.onEnterFrame=function()

{

th-=sco;

if(th<0){

sco=0;

th=0;

}

bitmap_1.copyPixels(logo,newRectangle(0,th,w,h),newPoint(0,0));

//最主要的就是该句的作用,它的作用是在bitmap_1内填充一个矩形,而矩形区域的颜色来自logo的一个矩形区域,该矩形区域的横坐标为0,高坐标为th,宽为w,高为h.

}

提醒,该组件同样支持拉伸和旋转。希望这个技巧可以帮到大家 以上文件请使用FLASH8.0打开。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航