如何在paperjs上获得符号图层?

时间:2013-11-05 01:13:50

标签: javascript paperjs

此代码将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);


};

2 个答案:

答案 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";
  }
}

希望这能达到你的预期。