flash 8 BitmapData 类的应用
2007-01-04 10:58:48 来源:WEB开发网核心提示: souce源里面的内容:100*100px(影片剪辑本身未缩放);dest2目标剪辑的内容:100*100px(内容未进行缩放,影片剪辑本身缩放50*50)BMD实例: 100*100px.我们看出整个源的内容已经被获取,flash 8 BitmapData 类的应用(4),并复制到目标中
souce源里面的内容:100*100px(影片剪辑本身未缩放);
dest2目标剪辑的内容:100*100px(内容未进行缩放,影片剪辑本身缩放50*50)
BMD实例: 100*100px.
我们看出整个源的内容已经被获取,并复制到目标中,由于目标进行了缩放,所以图像也进行了缩放。
souce源里面的内容:100*100px(影片剪辑本身未缩放);
dest2目标剪辑的内容:50*50px(内容进行缩放,影片剪辑本身缩放200*200)
BMD实例: 100*100px.
目标MC的内容缩了,目标MC的大小缩放到200*200,发现BMD实例复制后的图像与目标的内容大小无关,而与目标MC的大小有关。
如果BMD实例的大小小于源MC中的内容大小,只复制了部分内容,而不是整个图像。
BMD实例内容小于BMD的大小,仍获取整张图像。
Star 1 Example:
星星范例:
你可以从这里下载源文件:stars.zip。我们在下面需要用到它。
在这个范例中我们同时也会用filter.你可以看一篇教程flash8 mealstrom基础的用法。
打开源文件后,你看的AS一层中的代码,如下:
代码:
var w:Number = Stage.width;
var h:Number = Stage.height;
var star:MovieClip;
//版本检测 check
var versionNums:Array = $version.toString().split(" ");
inform.text = (Number(versionNums[1].substr(0,1)) < 8) ? "You need the Flash 8 player to view this movie!" : "" ;
//Create children
var sourceMC:MovieClip = this.createEmptyMovieClip("sourceMC", this.getNextHighestDepth());
var destMC:MovieClip = sourceMC.createEmptyMovieClip("destMC", sourceMC.getNextHighestDepth());
var screenShot = new flash.display.BitmapData(w, h, true, 0);
//-------------------------------------------|
destMC.onEnterFrame = function()
{
drawStar();
capture();
drawToScreen();
}
//-------------------------------------------|
function drawStar()
{
star = sourceMC.attachMovie("star", "star", 1); //attach at 1
glow.color = Math.floor(Math.random()*0xFFFFFF);
star.filters = [glow,bevel];
star._x = getRandomInt(w, (star._width/2));
star._y = getRandomInt(h, (star._height/2));
}
//-------------------------------------------|
function capture()
{
destMC._visible = false;
screenShot.draw(sourceMC);
destMC._visible = true;
}
//-------------------------------------------|
function drawToScreen()
{
destMC.attachBitmap(screenShot, 1); //attach at 1
}
//-------------------------------------------|
function getRandomInt(max, sub):Number
{
return Math.floor(Math.random() * ((max+1)-(sub*2)) + sub);
}
我获取了屏幕的宽和高,动态创建了两个movieClip.一个是sourceMc.另一个是destMc.然后在创建bitmapData的实例。
Tags:flash BitmapData 应用
编辑录入:爽爽 [复制链接] [打 印]- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接