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

flash 8 BitmapData 类的应用

 2007-01-04 10:58:48 来源:WEB开发网   
核心提示: 下一步,我加入了一些代码在onEnerFrame方法中:代码:destMC.onEnterFrame = function(){drawStar();capture();drawToScreen();}We draw a star on the stage, take a screensh

下一步,我加入了一些代码在onEnerFrame方法中:

代码:

destMC.onEnterFrame = function()
{
  drawStar();
  capture();
  drawToScreen();
}

We draw a star on the stage, take a screenshot, and finally transfer that screenshot to a MovieClip.

我们在场景中绘制星,然后将它传递给一个MovieClip.

下面是”draw“的代码:

代码:

function drawStar()
{
  //attach star at depth 1
  var star = sourceMC.attachMovie("star", "star", 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));
}

drawStar:(绘制星星)

我们实际上粘贴的是一个放在库中之前准备好的图像,注意,我们在粘贴时用了一个固定的深度以便当有新的星星重复时可以被替换掉。源和目标剪辑的命名方是很有用的。你将在capture()函数中看到为什么。

第二行改变了glow滤镜的色彩,你可以在“filter“层的代码上看到,这里面我们所用的Math.random()来创建随机的黑到白之间的色彩。

第三行,我们指定滤镜给MC.

最后使用了我自定义的函数getRandomInt(),我们设置x和y的位置是一个随机的整数,并且在屏幕边框之内。

capture:(缓冲)

下面这个函数将是很简单的。

代码:

function capture()
{
  destMC._visible = false;
  screenShot.draw(sourceMC);
  destMC._visible = true;
}

这里面我们先让我们的目标mc不可见,为什么?因为我们在循环过程中目标MC中将会包含一个我们之前的原始星星,我们只是需要用其它的星星,另外我也更想做到的是观看bitmapData的工作过程。

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

Tags:flash BitmapData 应用

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