我对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);
}
希望这不是一个愚蠢的问题 - 但如果有人可以指导我为什么这不起作用或给我一个有效的例子(会更好)我会非常感激
答案 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);
}