📔
TerraCraft
  • TerraCraft
  • English
    • Mod Document
      • Mod Dev Official Tutorial
      • Mod API Document
        • Data Types and Enums
        • JSON
        • Entity
        • NPC
  • 简体中文(旧版教程)
    • 模组文档
      • Engine API
        • App
        • AssetBundle
        • AtlasInfo
        • AtlasTextureManager
        • Audio
        • Bytes
        • File
        • GameObject
        • GlobalHook
        • Graphics
        • Hotfix
        • Image
        • ImageInfo
        • IntegratedClient : IntegratedEnv
        • IntegratedEnv
        • JsonUtil
        • Log
        • MathHelper
        • Matrix
        • Path
        • Random
        • Rect
        • Rigidbody
        • TextureLocation
        • TextureManager
        • Transform
        • Vector2
        • Vector3
        • Vector4
      • Game API
        • Attack
        • ArrayList<T>
        • EffectUtils
        • Entity
        • LightingUtils
        • ModNpc
        • ModProjectile
        • Npc : Entity
        • NpcUtils
        • Projectile : Entity
        • ProjectileUtils
        • Reg
        • SoundUtils
        • Utils
      • 模组API文档
        • 数据类型、枚举类型
        • JSON API
        • 引用API
        • 注册信息API
        • 语言API
        • 通用API
        • 物品API
        • 实体API
        • 特效API
        • 抛射物API
        • 状态效果API
        • 附魔API
        • 玩家API
        • NPC API
        • 骨骼模型API
        • 光照API
        • 音效API
        • 方块API
        • 方块实体API
        • 地图API
        • 渲染API
        • 指令API
        • 用户图形界面UI
        • 其他API
      • 模组开发官方教程
        • ExampleMod源代码仓库
        • 1.0 教程对应游戏版本(Indev 1.1)
        • 1.1 开始
        • 1.2 安装Visual Studio Code
        • 1.3 配置模组环境
        • 1.4 认识模组路径
        • 1.5 认识JSON数据表
        • 1.6 第一个物品
        • 1.7 认识地图元素
        • 1.8 第一个图块TODO
        • 1.9 第一个家具TODO
        • 1.10 加入合成表TODO
        • 未完待续……
      • 模组数据表文档
        • 基本JSON类型
        • 模组配置表(tcmod.json)
        • 物品表(contents/items/...)
        • 物品配置表
        • 弹药表(ammos.json)
        • 状态效果表(buffs.json)
        • 音效配置表(sound_config.json)
        • 音效表(sounds.json)
        • 背景表(backgrounds.json)
        • 皮肤表(skins.json)
        • 着色器表(shaders.json)
  • 新版教程
    • 1 基础部分
      • 1.1 安装集成开发环境
      • 1.2 获取TerraCraft源码
      • 1.3 认识Lua
      • 1.4 Mod架构
      • 1.5 游戏主生命周期和主状态机
      • 1.6 Lua实战
      • 1.7 第一个物品
      • 1.8 本地化翻译
      • 1.9 配方系统初探和矿物字典
Powered by GitBook
On this page
  • 实体类(Entity Class)
  • 类成员属性
  • 类成员函数

Was this helpful?

  1. 简体中文(旧版教程)
  2. 模组文档
  3. 模组API文档

实体API

实体类(Entity Class)

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

Npc类、Projectile类、Effect类、Player类的基类均为Entity类,都可以使用如下的成员属性和成员函数。

类成员属性

坐标与图形属性(当实体为玩家时全部只读)

属性

类型

描述

Entity.x

double

实体左上角横坐标。

Entity.y

double

实体左上角纵坐标。

Entity.centerX

double

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

Entity.centerY

double

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

Entity.centerXi

int

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

Entity.centerYi

int

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

Entity.rightX

double

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

Entity.bottomY

double

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

Entity.speedX

double

实体横向速度。

Entity.speedY

double

实体纵向速度。

Entity.gravity

double

实体的重力加速度。

Entity.width

int

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

Entity.height

int

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

Entity.direction

bool

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

实体面朝右侧为true。

(当实体为玩家时只读)

Entity.rotateAngle

double

实体碰撞箱的旋转角度。

Entity.speedAngle

double

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

Entity.randX

double

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

Entity.randY

double

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

Entity.shape

Shape

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

碰撞检测属性

属性

类型

描述

Entity.stand

bool

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

Entity.isCollisionTop

bool

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

Entity.isCollisionLeft

bool

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

Entity.isCollisionRight

bool

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

Entity.isCollisionStuck

bool

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

Entity.isNoCollision

bool

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

Entity.onSlope

bool

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

Entity.hitbox

Hitbox

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

Entity.aabb

Hitbox

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

Entity.minAABB

Hitbox

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

Entity.allowCheckCollision

bool

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

绘制相关属性(当实体为玩家时全部只读)

您可以通过修改如下属性来自定义实体的绘制方式。

属性

类型

描述

Entity.spriteDefaultWidth

int

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

Entity.spriteDefaultHeight

int

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

Entity.spriteRect

Rectangle

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

spriteRect.height默认为spriteDefaultHeight

Entity.spriteEx

SpriteEx

实体绘制的拓展信息。

Entity.spriteOffsetX

int

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

Entity.spriteOffsetY

int

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

Entity.color

Color

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

Entity.frameTickTime

int

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

Entity.frameIndex

int

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

Entity.frameStyles

int

【只读】实体样式数。

Entity.frames

int

【只读】实体总帧数。

Entity.frameSpeed

int

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

其他属性

属性

类型

描述

Entity.tickTime

int

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

Entity.randSeed

int

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

类成员函数

坐标与图形函数

函数

返回值

描述

Entity:SetCenterX(double newCenterX)

void

将实体中心横坐标设为指定位置。

Entity:SetCenterY(double newCenterY)

void

将实体中心纵坐标设为指定位置。

Entity:GetAngleTo(double desX, double desY)

double

返回实体中心点到目标点的角度。

Entity:GetAngleFrom(double srcX, double srcY)

double

返回来源点到实体中心点的角度。

Entity:GetDistance(double otherX, double otherY)

double

返回实体中心到指定点的距离。

Entity:Rotate(double angle)

void

在原有角度基础上继续旋转指定角度。

Entity:RotateSpeed(double angle)

void

在原有速度角度基础上继续旋转指定速度角度。

Previous物品APINext特效API

Last updated 3 years ago

Was this helpful?