您的位置:首页 > 其它

这些年的情人节

2008-02-15 21:43 190 查看
ActionScript 3可以显示一幅通过代码计算得出RGB值而动态生成的bigmap图像。利用这种特性,演绎3D元素,制作影像和图片以及其他的效果都显得比较容易。为了在显示器屏幕中描画像素,就需要创建一个Bitmap和BitmapData类的实例,BitmapData表示一组像素,而Bitmap则是用来描画这些像素的一个DisplayObject对象。为了动态的描画出逼真的bitmap图像,就需要在各个框架中写入所有的像素。而实现这一点,至少有两种方法:一种是通过给每一个像素调用一次setPixel,还有一种是创建一个适当大小的ByteArray,然后将其传给BitmapData.setPixels.所以,如果你希望你的代码执行的足够快,那应该选择哪一种呢?

下面的代码应该是最快的了:

outputBitmapData.lock();
for(y = 0; y < STAGE_HEIGHT; ++y)
{
for(x = 0; x < STAGE_WIDTH; ++x)
{
r = (t*100 + 255 * x / STAGE_WIDTH)%255;
g = 180;
b = 180;

outputBitmapData.setPixel(x, y, (r<<16) + (g<<8) + b);
}
}
outputBitmapData.unlock();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: