Entity

实体(Entity)类表示拥有图形以及碰撞检测相关的基本属性的对象。 Npc类、Projectile类、Effect类、Player类继承Entity类。

属性

属性

double x

实体左上角横坐标。

double y 实体左上角纵坐标。

double centerX 【只读】实体正中间横坐标。

double centerY 【只读】实体正中间纵坐标。

int centerXi 【只读】实体正中间格子横坐标。

int centerYi 【只读】实体正中间格子纵坐标。

double rightX 【只读】实体最右侧横坐标。

double bottomY 【只读】实体最底部纵坐标。

double speedX 实体横向速度。

double speedY 实体纵向速度。

double gravity 实体的重力加速度。

int width 【只读】实体碰撞箱宽度。

int height 【只读】实体碰撞箱高度。

bool direction 实体朝向。 实体面朝左侧为false。

实体面朝右侧为true。

(当实体为玩家时只读)

double rotateAngle 实体碰撞箱的旋转角度。

double speedAngle 【只读】当前实体运动速度的向量夹角。

double randX 【只读】实体横向投影上的随机横坐标。

double randY 【只读】实体纵向投影上的随机纵坐标。

Shape shape 【只读】实体碰撞箱形状。

bool stand 【只读】实体是否为站立状态(底部碰撞)。

bool isCollisionTop 【只读】实体是否顶部发生碰撞。

bool isCollisionLeft 【只读】实体是否左侧发生碰撞。

bool isCollisionRight 【只读】实体是否右侧发生碰撞。

bool isCollisionStuck 【只读】实体是否卡在方块内部。

bool isNoCollision 【只读】实体是否没有发生任何形式的碰撞。

bool onSlope 【只读实体是否站在斜坡上。

Hitbox hitbox 【只读】若实体为轴对齐矩形,表轴对齐碰撞箱,否则表示旋转矩形碰撞箱。

Hitbox aabb 【只读】实体旋转角度为0的轴对齐碰撞箱。

Hitbox minAABB 【只读】完全包裹实体的最小轴对齐碰撞箱。

bool allowCheckCollision 决定是否执行与方块的碰撞检测。

int spriteDefaultWidth 【只读】实体默认绘制宽度。

int spriteDefaultHeight 【只读】实体默认绘制高度。

Rectangle spriteRect 实体绘制时在目标贴图的剪裁区域。 spriteRect.width默认为spriteDefaultWidth

spriteRect.height默认为spriteDefaultHeight

SpriteEx spriteEx 实体绘制的拓展信息。

int spriteOffsetX 实体绘制的横向偏移量。(默认为0.0)

int spriteOffsetY 实体绘制的纵向偏移量。(默认为0.0)

Color color 实体绘制的颜色。(默认为COLOR_WHITE

int frameTickTime 实体绘制用的帧计时器。(每帧自增1)

int frameIndex 【只读】当前实体帧索引,即(frameTickTime/frameSpeed)%frames

int frameStyles 【只读】实体样式数。

int frames 【只读】实体总帧数。

int frameSpeed 【只读】实体帧切换周期。

int tickTime 【只读】实体的实际生存的时间。

int randSeed 【只读】实体的随机数种子。

函数

函数

void Entity:SetCenterX(double newCenterX) 将实体中心横坐标设为指定位置。

void Entity:SetCenterY(double newCenterY) 将实体中心纵坐标设为指定位置。

double Entity:GetAngleTo(double desX, double desY) 返回实体中心点到目标点的角度。

double Entity:GetAngleFrom(double srcX, double srcY) 返回来源点到实体中心点的角度。

double Entity:GetDistance(double otherX, double otherY) 返回实体中心到指定点的距离。

void Entity:Rotate(double angle) 在原有角度基础上继续旋转指定角度。

void Entity:RotateSpeed(double angle) 在原有速度角度基础上继续旋转指定速度角度。

Last updated