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 modified 1yr ago