as3使用BitmapData绘图

时间:2014-07-10 03:35:22

标签: actionscript-3 drawing bitmapdata

我对actionscript(或任何代码)非常新,并且在解释为什么我的代码无法工作时遇到了一些麻烦。我正在尝试使用BitmapData创建一个小型绘图应用程序 - 当我运行代码时没有任何错误,但它根本不做任何事情。

   import flash.display.Bitmap;
 import flash.display.BitmapData;
 import flash.display.Sprite;
 import flash.display.Stage;
 import flash.display.StageScaleMode;
 import flash.events.Event;
 import flash.events.MouseEvent;
 import flash.text.TextField;
 import flash.text.TextFieldAutoSize;
 import flash.text.TextFormat;


 var canvas:BitmapData = new BitmapData(100, 100, false, 0x009900); 

 stage.addEventListener(MouseEvent.MOUSE_DOWN,draw)
 function draw(){ 

canvas.setPixel(mouseX, mouseY, 0x000000); 
} 

希望这不是一个愚蠢的问题 - 但如果有人可以指导我为什么这不起作用或给我一个有效的例子(会更好)我会非常感激

1 个答案:

答案 0 :(得分:1)

你必须将bitmapdata添加到你所在的displayObject(它应该是一个精灵)

private var bitmap:Bitmap;

//on your init function
bitmap = new Bitmap(canvas);
this.addchild(bitmap);

stage.addEventListener(MouseEvent.MOUSE_DOWN,draw)

function draw(e:MouseEvent)
{ 
    bitmap.bitmapdata.setPixel(e.localX, e.localY, 0x000000);
}