WEB开发网
开发学院图形图像Flash flash 8 BitmapData 类的应用 阅读

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的实例。

上一页  1 2 3 4 5 6  下一页

Tags:flash BitmapData 应用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接