rt-sim-training-client/src/jmapNew/shape/Train/ETriangle.js

52 lines
1.6 KiB
JavaScript
Raw Normal View History

import Group from 'zrender/src/container/Group';
import Polygon from 'zrender/src/graphic/shape/Polygon';
/** 创建三角形*/
export default class ETriangle extends Group {
constructor(model) {
super();
this.model = model;
this.zlevel = model.zlevel;
this.z = model.z;
this.create(model);
}
create(model) {
if (model && model.point) {
const right = model.right == 1 ? 1 : -1;
this.angle = new Polygon({
zlevel: model.zlevel,
z: model.z,
shape: {
points:[[model.point.x + 10 * right, model.point.y], [model.point.x, model.point.y - 6], [model.point.x, model.point.y + 6]]
},
style: {
stroke:'#FFFF00',
lineWidth: 0.5,
fill: '#FFFF00'
}
});
this.add(this.angle);
}
}
updateTriangle(model, right) {
const trainRight = right == 1 ? 1 : -1;
const data = [[model.x + 10 * trainRight, model.y], [model.x, model.y - 6], [model.x, model.y + 6]];
// this.angle.shape.points.push([model.x + 10 * trainRight, model.y]);
// this.angle.attr('shape', { points: this.angle.shape.points });
2020-03-10 20:24:24 +08:00
this.angle.attr({
shape: {
points:data
}
});
this.angle.animateTo({
shape: {
points:data
}
}, 10, 0, 'elasticOut', function () {
});
this.dirty();
}
}