此代码将30个led图像绘制到canvas.How如何选择和更改led符号onMouseDown事件的来源?
var raster = new Raster();
raster.source="/PNG/Red.png";
var sembol = new Symbol(raster);
for (var i = 0; i < 30; i++) {
var bura = sembol.place();
bura.position = Point.random() * view.size;
bura.scale(0.5);
};
答案 0 :(得分:0)
假设您的视图中有一组栅格对象,例如一行按钮,则以下内容应该有效:
function onMouseDown(event) {
if (event.item && event.item.type === 'raster') {
sembol.definition = event.item.clone();
}
}
由于在定义为符号时从视图中删除了某个项目,因此会传递克隆。
答案 1 :(得分:0)
您可以直接将onMouseDown handler添加到PlacedSymbol
,在这种情况下bura
:
for (var i = 0; i < 30; i++) {
var bura = sembol.place();
bura.position = Point.random() * view.size;
bura.scale(0.5);
bura.onMouseDown = function () {
// you can use the closure variable `raster`
raster.source = "/PNG/Blue.png";
// or, if you don't have acces to `raster`:
this.symbol.definition.source = "/PNG/Blue.png";
}
}
希望这能达到你的预期。