0

此代码将 30 个 LED 图像绘制到画布上。如何选择和更改 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);


};
4

2 回答 2

0

假设您的视图中有一组光栅对象,例如一排按钮,以下应该可以工作:

function onMouseDown(event) {
    if (event.item && event.item.type === 'raster') {
            sembol.definition = event.item.clone();
    }
}

由于将项目定义为符号时从视图中删除,因此传递了一个克隆。

于 2013-11-05T03:01:54.587 回答
0

您可以将onMouseDown 处理程序直接添加到 a 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";
  }
}

希望这能达到您的预期。

于 2013-11-22T09:59:41.147 回答