Utils
常量
常量 |
---|
NetMode netMode
若当前脚本为服务端环境,值为 若当前脚本为客户端环境,值为 |
double E = 2.71828175 自然常数 |
double LOG2E = 1.442695 以 2 为底 e 的对数 |
double LOG10E = 0.4342945 以 10 为底 e 的对数 |
double PI = 3.14159274 圆周率 |
double TWO_PI = 6.28318548 圆周率 x 2 |
double PI_OVER_2 = 1.57079637 圆周率 / 2 |
double PI_OVER_4 = 0.7853982 圆周率 / 4 |
函数
函数 |
int Utils.RandInt(int n) 若n大于0,返回[0, n)的随机整数,否则返回0。 |
int Utils.RandIntArea(int begin, int len) 若len大于0,返回[begin, begin + len)的随机整数,否则返回begin。 |
double Utils.RandDouble(double value) 若value大于0,返回[0, value)的随机浮点数,否则返回0。 |
double Utils.RandDoubleArea(double begin, double len) 若len大于0,返回[begin, begin + len)的随机浮点数,否则返回begin。 |
double Utils.RandSym(double value) 返回(-value, value)的随机浮点数。 |
bool Utils.RandTry(int n) 当n为正数时1/n概率返回true,否则始终返回false。
|
int Utils.Cell(double a) 返回实际横/纵坐标对应的格子横/纵坐标。注意每个格子为16像素,实际结果为除以16后向下取整。 |
int Utils.PositiveMod(int a, int b) 返回a与b求余的非负数结果。
|
int Utils.FloorDivide(int a, int b) 若b非0,返回a向下取整整除b的结果,否则返回0。
|
double Utils.SinValue(int phase, int period, int begin = 0) 返回以period为周期、以begin为初相位的正弦波在相位phase的值。 |
double Utils.CosValue(int phase, int period, int begin = 0) 返回以period为周期、以begin为初相位的余弦波在相位phase的值。 |
double Utils.ToTargetValue(double start, double target, double step)
返回start值往target值方向移动step长度的结果,若到达target值,则返回target值。
|
double Utils.GetPointsDistance(double x1, double y1, double x2, double y2) 返回点(x1, y1)到点(x2, y2)的距离。
|
double Utils.GetDistance(double x, double y) 返回点(x, y)到原点(0, 0)的距离。
|
double Utils.GetPointSegmentDistance(double x, double y, double x1, double y1, double x2, double y2) 返回点(x, y)到以点(x1, y1)和点(x2, y2)为两端点的线段的距离。 |
double Utils.GetAngle(double x, double y) 返回向量(x, y)与横坐标的夹角。
|
double Utils.FixAngle(double angle) 将角度按2π周期增加或减少,返回最终限定在区间(-π, π]内的结果。 |
double, double Utils.GetXYFromPolar(double length, double angle) 将极坐标转换为直角坐标,返回横坐标和纵坐标。 |
double, double Utils.RotateXY(double x, double y, double angle) 将点(x, y)绕原点旋转指定角度,返回旋转后的横坐标和纵坐标。 |
double, double Utils.SlowSpeed2D(double speedX, double speedY, double dec) 将一个二维速度(speedX, speedY)以恒定速度(dec)降低,返回新的横速度和纵速度。 |
double Utils.SlowSpeed1D(double speed, double dec) 将一个速度以恒定速度(dec)降低,返回新的速度。 |
double, double Utils.ForceSpeed2D(double speedX, double speedY, double force, double forceAngle, double maxSpeed) 将一个二维速度(speedX, speedY)进行受力,返回新的横速度和纵速度。 |
Last updated