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的工作过程。
Tags:flash BitmapData 应用
编辑录入:爽爽 [复制链接] [打 印]- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接