论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

FLASH8新技术实现横向卷轴

文章类别:Flash | 发表日期:2008-9-21 20:08:29

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

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

import?flash.display.BitmapData;
import?flash.geom.Rectangle;
import?flash.geom.Point;
logo?=?flash.display.BitmapData.loadBitmap(pic);
w1=?logo.width;
h1=?logo.height;
th=h1-h;?//th就是要显示的区域的最左上角纵坐标,灵活的控制它的大小可以实现对背景的控制
this.createEmptyMovieClip("holder_mc",1);
var?bitmap_1=?new?BitmapData(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,?new?Rectangle(0,?th,?w,?h),?new?Point(0,?0));
//?最主要的就是该句的作用,它的作用是在bitmap_1内填充一个矩形,而矩形区域的颜色来自logo的一个矩形区域,该矩形区域的横坐标为0,高坐标为th,宽为w,高为h.
}

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

视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058