Skip to main content

compileAngle 编译角度对象

compileAngle

类型: MethodDeclaration

所属类: CommandFunctionList

定义位置: command.ts

描述

编译角度对象

参数 angle: 角度访问器

返回值:角度访问器函数(弧度)

参数

参数名类型描述默认值
angleAngleGetter--

返回值

类型: (origin\?\: any) => number

角度访问器函数(弧度)

源代码

位置: 第 686 行

private compileAngle(angle: AngleGetter): (origin?: any) => number {
switch (angle.type) {
case 'position': {
const getPoint = Command.compilePosition(angle.position)
return origin => {
const point = getPoint()
if (point) {
const distY = point.y - origin.y
const distX = point.x - origin.x
return Math.atan2(distY, distX)
}
return origin.angle ?? 0
}
}
case 'absolute': {
const getDegrees = Command.compileNumber(angle.degrees)
return () => Math.radians(getDegrees())
}
case 'relative': {
const getDegrees = Command.compileNumber(angle.degrees)
return origin => (origin.angle ?? 0) + Math.radians(getDegrees())
}
case 'direction': {
const radians = Math.radians(angle.degrees)
return origin => {
const animation = origin.animation
if (animation) {
return animation.getDirectionAngle() + radians
}
return radians
}
}
case 'random': {
const radians = Math.PI * 2
return () => Math.random() * radians
}
}
}

文档生成时间:2025/7/7 12:07:06