NPC API
NPC泛指除了玩家之外的所有生物,如动物、敌怪、村民、BOSS等。
钩子函数(NPC脚本:contents/npc_ai/...)
void Init()
NPC生成时调用一次该函数。
void Update()
NPC每帧运行时调用,您可以在该函数内编写运动等逻辑。
void PreUpdate()
NPC每帧运行Update()
函数前调用。通常用于在原逻辑前插入新逻辑。
void PostUpdate()
NPC每帧运行Update()
函数后调用。通常用于追加逻辑。
void UpdateSkeleton(Skeleton skeleton)
若NPC拥有骨骼模型,每帧执行完PostUpdate
后调用,用于处理自定义骨骼模型逻辑。执行完该函数后,会对所有骨骼模型关节重新计算。
skeleton
表示当前NPC的骨骼模型。
void PreUpdateSkeleton(Skeleton skeleton)
NPC每帧运行UpdateSkeleton(Skeleton skeleton)
函数前调用。通常用于在使用AI重用后在原逻辑前插入新的骨骼模型逻辑。
skeleton
表示当前NPC的骨骼模型。
void PostUpdateSkeleton(Skeleton skeleton)
NPC每帧运行UpdateSkeleton(Skeleton skeleton)
函数,并将全部骨骼关节进行修正后调用。当前函数中所有骨骼关节为实际作用数据。
skeleton
表示当前NPC的骨骼模型。
void OnDraw()
NPC每帧绘制前调用,在该函数内编写自定义绘制属性。不使用该钩子函数时采取默认处理方式。
void OnKilled()
NPC死亡时调用一次该函数。
void OnTileCollide(double oldSpeedX, double oldSpeedY)
NPC与图块碰撞时调用该函数。
oldSpeedX
和oldSpeedY
表示击中实心图块前一帧的横向和纵向速度。
NPC通用模块(NpcUtils)
NPC类(Npc Class,继承自Entity Class)
NPC类表示具有生物基本信息的非玩家实体类。
在编写NPC AI脚本时,self表示当前正在操作的NPC类。
父类
该类的父类为Entity类。可直接使用该父类的类成员属性与类成员函数。
类成员属性
类成员函数
运动模板函数
调用这些函数执行内置的运动逻辑。
Last updated