ActionScript3 中描绘像素最快的方法

 

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();

你可能感兴趣的:(框架,actionscript)