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 ハンドラを に直接追加できます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 に答える