我正在创建一个 mootools 类并使用Mootools 画布库基本上只是创建(目前)一个小方块,只要在另一个画布项目区域上有点击事件。想象一下 Photoshop 钢笔工具和节点。
var Pentool = new Class({
Implements: [Events, Options],
initialize: function(canvasel) {
CANVAS.init({
canvasElement : canvasel,
enableMouse : true
});
var _self = this;
//add a layer
var layer = CANVAS.layers.add( new Layer({
id : 'myLayer'
}));
var area = new CanvasItem({
id: 'area_',
w: 360,
h: 500,
interactive: true,
events: {
onDraw: function(ctx) {
ctx.fillStyle = 'rgba(255,255,255,0.3)';
ctx.fillRect(0, 0, this.w, this.h);
this.setDims(0, 0, this.w, this.h)
},
onClick: function(x, y) {
_self.addNode(layer, x, y);
}
}
})
layer.add(area);
CANVAS.draw();
},
addNode: function(layer, x, y) {
var node = new CanvasItem({
id: 'node_',
x: x,
y: y,
fillStyle : 'rgba(255,0,0,1)',
events: {
onDraw: function(ctx) {
ctx.fillStyle = this.fillStyle;
ctx.fillRect(this.x, this.y, 12, 12);
}
}
});
layer.add(node);
CANVAS.draw();
}
})
现在我已经尝试了一切来阻止这种情况,但是每当我点击不止一次时,不透明度就会上升(请参阅不透明度填充)。我该如何阻止这种情况发生?我认为,我需要正确“清除”画布。