Paper.js:无法设置符号实例的 fillColor

2024-04-10

我是 paper.js 的新手。

对于这个项目,我需要一个将在许多实例中使用的形状(具有不同的填充颜色),因此显然使用符号更好(而不是使用 Path.clone() 方法)。 但是,一旦我将符号实例化为 PlacedSymbol,更改 fillColor 属性似乎对渲染的形状没有影响:它仍然是符号的初始颜色。

其他属性(例如位置或不透明度)已成功设置。

我的问题:如何更改符号每个实例的填充颜色?

jsFiddle在这里:http://jsfiddle.net/GlauberRocha/uTskY/ http://jsfiddle.net/GlauberRocha/uTskY/(请注意,我已将所有代码放在 HTML 窗格中。否则似乎不起作用,可能是因为 paperscript 不是纯 JavaScript)。

论文代码:

var
  path = new Path(),
  symbol = {},
  inst = [],
  colors = ["#1f8f81", "#c7c5a8", "#1b4a9f", "#d6a493", "#1a8879", "#599ce3", "#1a459c", "#b9a87a", "#365db2", "#2479d4", "#a46430", "#1b449a", "#a4632e", "#1a4297", "#3359ad", "#b1852b", "#1a8077", "#1b3849", "#ae832a", "#186cc9", "#1b8178"]

path.add(new Point(0, 56), new Point(56, 0), new Point(56, 40), new Point(0, 96));
path.fillColor = "red";
path.closed = true;
symbol = new Symbol(path);
path.remove();

for (var i = 0; i < 20; ++i) {
  inst[i] = symbol.place();
  inst[i].fillColor = colors[i]; // Change fill color : NO
  console.log(inst[i].fillColor); // But... the correct color value appears here
  inst[i].opacity = (i / 30) + .4; // Change opacity: OK
  inst[i].position.x = 100; // Change position: OK
  inst[i].position.y = 42 * i + 50;
}

paper.js 团队的 Jonathan Puckey 回答道:

这是设计使然。您无法更改对象的视觉属性 符号的实例。要更改项目的颜色,您可以创建 使用路径的多个副本path.clone().

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Paper.js:无法设置符号实例的 fillColor 的相关文章

随机推荐