为什么这是一个空白的位图?

时间:2012-02-08 03:26:26

标签: actionscript-3

我经历了几个循环来构建一个32 x 32的块 在我的真实例子中,颜色各不相同,但在测试中,甚至简化我无处可去

var tempWidth:int = currentTileSel.width;
            var tempHeight:int = currentTileSel.height;
            var newbit:Bitmap = null;
            var myBitmapData:BitmapData = new BitmapData(tempWidth, tempHeight,true,0x000000);
            var drawCount:int = 0;

            for(var i:int = 0; i< tempHeight; i++)
            {                       
                for(var j:int = 0; j < tempWidth; j++)
                {
                    var setColor:uint = pixelArray[drawCount].colorfill;
                    myBitmapData.setPixel32(j,i,0x000000);

                    drawCount++;
                }
            }
            ///*
            currentTileSel.graphics.clear();
            currentTileSel.graphics.lineStyle(.25,0xCCCCCC,.5,false);
            currentTileSel.graphics.beginBitmapFill(myBitmapData);
            currentTileSel.graphics.drawRect(0,0,tempWidth,tempHeight);
            currentTileSel.graphics.endFill();
            currentTileSel.bitmapHolder = myBitmapData;
            //*/
            newbit = new Bitmap(myBitmapData);
            gridLoader.addChild(newbit);

我认为这会逐像素地生成黑色位图,但是当我将它作为位图添加到屏幕上时,我在bitmapFill上什么都没有得到任何结果。

我做错了什么?非常感谢提前!

2 个答案:

答案 0 :(得分:2)

你的问题就在这一行:

myBitmapData.setPixel32(j,i,0x000000); 

在这里,您将透明度设置为0。 尝试:

myBitmapData.setPixel32(j,i,0xFF000000); 

答案 1 :(得分:1)

您正在绘制透明的黑色像素。而不是0x000000,它应该是0xff000000。

myBitmapData.setPixel32(j,i,0xff000000);

或使用setPixel(x,y,color);