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
实体绘制时在目标贴图的剪裁区域。
|
SpriteEx spriteEx 实体绘制的拓展信息。 |
int spriteOffsetX 实体绘制的横向偏移量。(默认为0.0) |
int spriteOffsetY 实体绘制的纵向偏移量。(默认为0.0) |
Color color
实体绘制的颜色。(默认为 |
int frameTickTime 实体绘制用的帧计时器。(每帧自增1) |
int frameIndex
【只读】当前实体帧索引,即 |
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