Spaces:
Build error
Build error
import Base from '../base/Base.js'; | |
import { Circle } from '../utils/Geoms.js' | |
class Orbit extends Base { | |
constructor(scene, config) { | |
super(scene, config); | |
this.type = 'rexSpinnerOrbit'; | |
} | |
buildShapes() { | |
this.addShape((new Circle()).setName('track')); | |
this.addShape((new Circle()).setName('thumb')); | |
} | |
updateShapes() { | |
var centerX = this.centerX; | |
var centerY = this.centerY; | |
var radius = this.radius; | |
var trackRadius = radius * 0.9; | |
var trackThickness = Math.ceil(trackRadius/25); | |
var thumbRadius = radius * 0.1; | |
var thumbAngle = Math.PI * 2 * this.value; | |
this.getShape('track') | |
.lineStyle(trackThickness, this.color, 0.7) | |
.setRadius(trackRadius) | |
.setCenterPosition(centerX, centerY); | |
this.getShape('thumb') | |
.fillStyle(this.color) | |
.setRadius(thumbRadius) | |
.setCenterPosition( | |
centerX + Math.cos(thumbAngle) * trackRadius, | |
centerY + Math.sin(thumbAngle) * trackRadius | |
); | |
} | |
} | |
export default Orbit; |