仙魔无双SDK
面向策划逻辑制作的游戏开发包
子弹逻辑

子弹相关逻辑的操作API 更多...

函数

int FireToPos (FxCreature *pSrcActor, unsigned long nBulletID, int nSpeed, int nX, int nY, int nZ=-1, bool bGravity=true, unsigned long nDistance=0, float fOffsetRadian=0.00f, unsigned long nOffsetLength=0, int nOffsetHeight=0)
 角色pSrcActor朝指定的坐标点nX, nY, nZ发射子弹。如果指定nDistance距离,则以此距离为准 更多...
 
int FireToPosPolar (FxCreature *pSrcActor, unsigned long nBulletID, int nSpeed, float fRadian, unsigned long nDistance, bool bGravity=true, float fOffsetRadian=0.00f, unsigned long nOffsetLength=0, int nOffsetHeight=0)
 角色pSrcActor朝指定的极坐标点fRadian(方向,弧度), nDistance(距离)发射子弹。 更多...
 
int FireToTarget (FxCreature *pSrcActor, unsigned long nBulletID, unsigned long nTargetID, int nSpeed, bool bGravity=true, unsigned long nDistance=0, float fOffsetRadian=0.00f, unsigned long nOffsetLength=0, int nOffsetHeight=0)
 角色pSrcActor朝指定ID的对象nTargetID所在方向发射子弹,无视nTargetID之后的移动。不会追踪。 更多...
 
unsigned long GetHitDistance (FxCreature *pActor)
 获取子弹角色pActor的当前命中距离。 更多...
 

详细描述

子弹相关逻辑的操作API

函数说明

◆ FireToPos()

int FireToPos ( FxCreature *  pSrcActor,
unsigned long  nBulletID,
int  nSpeed,
int  nX,
int  nY,
int  nZ = -1,
bool  bGravity = true,
unsigned long  nDistance = 0,
float  fOffsetRadian = 0.00f,
unsigned long  nOffsetLength = 0,
int  nOffsetHeight = 0 
)

角色pSrcActor朝指定的坐标点nX, nY, nZ发射子弹。如果指定nDistance距离,则以此距离为准

参数
pSrcActor[角色] 角色对象
nBulletID[整数] 子弹的ID
nSpeed[整数] 子弹的速度
nX[整数] 子弹的目标坐标:X
nY[整数] 子弹的目标坐标:Y
nZ[整数] 子弹的目标坐标:Z,默认-1
bGravity[布尔] 是否受重力
nDistance[整数] 子弹的飞行距离 默认0。0 表示: 飞到子弹触发时刻nTargetID所在的位置,(0, N] 表示: 朝nTargetID所在的位置方向飞行指定距离
fOffsetRadian[小数] 创建偏移角度,弧度,默认0.00
nOffsetLength[整数] 创建偏移距离,默认0
nOffsetHeight[整数] 创建偏移高度,默认0
返回
[整数] 发射的结果
返回值
1成功
0失败

◆ FireToPosPolar()

int FireToPosPolar ( FxCreature *  pSrcActor,
unsigned long  nBulletID,
int  nSpeed,
float  fRadian,
unsigned long  nDistance,
bool  bGravity = true,
float  fOffsetRadian = 0.00f,
unsigned long  nOffsetLength = 0,
int  nOffsetHeight = 0 
)

角色pSrcActor朝指定的极坐标点fRadian(方向,弧度), nDistance(距离)发射子弹。

参数
pSrcActor[角色] 角色对象
nBulletID[整数] 子弹的ID
nSpeed[整数] 子弹的速度
fRadian[小数] 弹道角度,相对于pSrcActor的朝向
nDistance[整数] 子弹飞行距离
bGravity[布尔] 是否受重力
fOffsetRadian[小数] 创建偏移角度,弧度,默认0.00
nOffsetLength[整数] 创建偏移距离,默认0
nOffsetHeight[整数] 创建偏移高度,默认0
返回
[整数] 发射的结果
返回值
1成功
0失败

◆ FireToTarget()

int FireToTarget ( FxCreature *  pSrcActor,
unsigned long  nBulletID,
unsigned long  nTargetID,
int  nSpeed,
bool  bGravity = true,
unsigned long  nDistance = 0,
float  fOffsetRadian = 0.00f,
unsigned long  nOffsetLength = 0,
int  nOffsetHeight = 0 
)

角色pSrcActor朝指定ID的对象nTargetID所在方向发射子弹,无视nTargetID之后的移动。不会追踪。

参数
pSrcActor[角色] 角色对象
nBulletID[整数] 子弹的ID
nTargetID[整数] 子弹的目标
nSpeed[整数] 子弹的基本速度
bGravity[布尔] 是否受重力
nDistance[整数] 子弹的飞行距离 默认0。0 表示: 飞到子弹触发时刻nTargetID所在的位置,(0, N] 表示: 朝nTargetID所在的位置方向飞行指定距离
fOffsetRadian[小数] 创建偏移角度,弧度,默认0.00
nOffsetLength[整数] 创建偏移距离,默认0
nOffsetHeight[整数] 创建偏移高度,默认0
返回
[整数] 发射的结果
返回值
1成功
0失败

◆ GetHitDistance()

unsigned long GetHitDistance ( FxCreature *  pActor)

获取子弹角色pActor的当前命中距离。

参数
pActor[角色] 角色对象,这里需要是子弹。如果不是子弹,返回默认的数值。
返回
[整数] 命中距离
注解
就是子弹在当前速度下,单次命中判定的距离。是一个矩形。