Я пытаюсь изменить альфа-канал и цвет при наведении курсора мыши или mousedown, но отображение не меняется.
Когда я использовал класс Text, он работал.Я изменил стиль с обычного на жирный следующим образом:
class Leaf extends PIXI.Text{
...
this.interactive = true;
this.on('mouseover', function () {
this.style.fontWeight = 'bold';
});
}
Затем я попытался изменить цвет линий / ссылок / краев моего вида, но он не работает:
class TreeEdge extends Graphics{
constructor(d){
super();
this.data = d;
let p0 = project(d.source.x, d.source.y);
let p1 = project(d.target.x, d.target.y);
this.lineStyle(1, d.target.color, 1);
this.moveTo(p0[0], p0[1]);
this.lineTo(p1[0], p1[1]);
this.endFill();
this.hitArea = this.getBounds();
this.interactive = true;
this.on('mouseover', function () {
this.alpha = 1;
});
}
}
Я пытался this.lineAlpha
, this.alpha
, this.GraphicsData[0].lineAlpha
... this.clear()
и this.dirty++
.Ничего не меняетсяЯ также пытался изменить цвет, с this.color
и this.lineStyle(1, node.color, 1);
.
Кажется, мне нужно обновить рендер или что-то.Каков наилучший подход для обновления графических элементов при взаимодействии с пользователем?
Я использую pixi.js - v4.7.3
Запуск моего приложения выглядит так:
var app = new PIXI.Application(width, height, {
backgroundColor: 0xffffff,
antialias: true,
transparent: false,
resolution: 1
});