|
|
|
@ -328,10 +328,17 @@ export class WorkingAreaComponent implements OnInit, AfterViewInit {
|
|
|
|
|
/// 替换背景图
|
|
|
|
|
/// 参数{source:string} 可以是一个url地址,也可以是本地assets下的一个图片路径
|
|
|
|
|
/// <summary>
|
|
|
|
|
public changeBackgroundImage(source: string): void { |
|
|
|
|
this.backgroundImage.texture = PIXI.Texture.from(source); |
|
|
|
|
public changeBackgroundImage(imageUri: string, imageAngle: number): void { |
|
|
|
|
this.backgroundImage.texture = PIXI.Texture.from(imageUri); |
|
|
|
|
this.backgroundImage.angle = imageAngle; |
|
|
|
|
this.backgroundImage.visible = true; |
|
|
|
|
} |
|
|
|
|
/** |
|
|
|
|
* 设置背景图角度 |
|
|
|
|
*/ |
|
|
|
|
public setBackgroundAngle(imageAngle: number) { |
|
|
|
|
this.backgroundImage.angle = imageAngle; |
|
|
|
|
} |
|
|
|
|
/// <summary>
|
|
|
|
|
/// 创建单点图标影子
|
|
|
|
|
/// <summary>
|
|
|
|
@ -435,18 +442,6 @@ class MultipointIcon extends PIXI.Container {
|
|
|
|
|
constructor(texture: PIXI.Texture, data: PIXI.Point[]) { |
|
|
|
|
super(); |
|
|
|
|
this.pointsData = data; |
|
|
|
|
// 画点
|
|
|
|
|
this.pointsData.forEach((item, index, array) => { |
|
|
|
|
const iconPoint = new PIXI.Graphics(); |
|
|
|
|
iconPoint.lineStyle(0); |
|
|
|
|
iconPoint.beginFill(0xFFFF0B, 1); |
|
|
|
|
iconPoint.drawCircle(0, 0, 50); |
|
|
|
|
iconPoint.x = item.x; |
|
|
|
|
iconPoint.y = item.y; |
|
|
|
|
iconPoint.endFill(); |
|
|
|
|
this.pointsGraphics.push(iconPoint); |
|
|
|
|
this.addChild(iconPoint); |
|
|
|
|
}); |
|
|
|
|
// 画线图标
|
|
|
|
|
for (let i = 0, count = this.pointsData.length - 1; i < count; i++) { |
|
|
|
|
const pointA = this.pointsData[i]; |
|
|
|
@ -465,6 +460,19 @@ class MultipointIcon extends PIXI.Container {
|
|
|
|
|
this.iconsTilingSprite.push(icon); |
|
|
|
|
this.addChild(icon); |
|
|
|
|
} |
|
|
|
|
// 画点
|
|
|
|
|
this.pointsData.forEach((item, index, array) => { |
|
|
|
|
const iconPoint = new PIXI.Graphics(); |
|
|
|
|
iconPoint.lineStyle(0); |
|
|
|
|
iconPoint.beginFill(0xFFFF0B, 1); |
|
|
|
|
iconPoint.drawCircle(0, 0, 15); |
|
|
|
|
iconPoint.x = item.x; |
|
|
|
|
iconPoint.y = item.y; |
|
|
|
|
iconPoint.endFill(); |
|
|
|
|
iconPoint.visible = false; |
|
|
|
|
this.pointsGraphics.push(iconPoint); |
|
|
|
|
this.addChild(iconPoint); |
|
|
|
|
}); |
|
|
|
|
// 添加圆点事件
|
|
|
|
|
this.pointsGraphics.forEach((item, index, array) => { |
|
|
|
|
item.interactive = true; |
|
|
|
@ -551,6 +559,8 @@ class MultipointIcon extends PIXI.Container {
|
|
|
|
|
event.currentTarget.parent.dragPoint = event.data.getLocalPosition(event.currentTarget.parent.parent); |
|
|
|
|
event.currentTarget.parent.dragPoint.x -= event.currentTarget.parent.x; |
|
|
|
|
event.currentTarget.parent.dragPoint.y -= event.currentTarget.parent.y; |
|
|
|
|
|
|
|
|
|
this.setPointVisiable(true); |
|
|
|
|
}) |
|
|
|
|
.on('mouseup', event => { |
|
|
|
|
event.currentTarget.parent.alpha = 1; |
|
|
|
@ -572,6 +582,14 @@ class MultipointIcon extends PIXI.Container {
|
|
|
|
|
.on('rightclick', event => { |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
//
|
|
|
|
|
} |
|
|
|
|
/** |
|
|
|
|
* 设置原点显示状态 |
|
|
|
|
* value: Boolean |
|
|
|
|
*/ |
|
|
|
|
public setPointVisiable(value: boolean) { |
|
|
|
|
this.pointsGraphics.forEach((item) => { |
|
|
|
|
item.visible = value; |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|