LUA中鱼轨迹和鱼轨迹阵的接口整理

这篇博客详细介绍了在LUA中如何设置鱼和炸弹的轨迹,包括直线、圆弧和摆线等。通过`Fish:addPath`函数,结合`qrArg`和`qr`函数确定精灵的头部朝向。同时展示了不同轨迹类型的实现,如直线轨迹、圆轨迹和摆线轨迹,并提供了添加鱼群阵型的接口`FishManage:addOneGroupFish`。
摘要由CSDN通过智能技术生成

根据鱼精灵帧资源或炸弹精灵帧资源中鱼或炸弹的头部朝向设置精灵的rotation,整体不动的圆轨迹暂不设置精灵的rotation,对于正弦轨迹这类非圆曲线轨迹设置rotation,修改FishManage:addOneGroupFish和Fish:addPath这两个函数,添加必要的接口说明

--鱼的头部朝向
s_AllFishArg={[1]=math.pi,[2]=math.pi,[3]=0,[4]=math.pi,[5]=math.pi,[6]=math.pi,[7]=math.pi,[8]=math.pi,[9]=math.pi,[10]=math.pi*0.5,[12]=math.pi,[15]=math.pi,[18]=math.pi,[20]=math.pi,[25]=math.pi,[30]=math.pi,[40]=math.pi}
--炸弹的头部朝向
s_AllBombArg={[1]=math.pi,[2]=math.pi,[3]=math.pi,[4]=math.pi,[5]=math.pi,[6]=math.pi,[7]=math.pi,[8]=math.pi,[9]=math.pi,[10]=math.pi,[11]=0,[12]=math.pi}

--取商、取模
function qr(fishType)
    local q=math.floor(fishType/100)
    local r=fishType-math.floor(fishType/100)*100
 return q,r
end

--鱼的头部朝向
--[[
fishType=1,2,40,……,——pi
fishType=3,——0
fishType=10,——pi*0.5
]]
function qrArg(fishType)
    local q,r=qr(fishType)
    if q==0 then
       local arg=s_AllFishArg[r]
       return arg
 else
       local arg=s_AllBombArg[r]
       return arg
 end
end

 

--[[
具体的运动轨迹由轨迹类型、轨迹起点坐标、轨迹速度等相互独立的参数来控制
参数说明:
pathType--轨迹类型
1表示直线轨迹,额外参数arg1表示轨迹方向,例如pathType=1,arg1=ccp(1500,1500)表示右上角45度直线轨迹;pathType=1,arg1=ccp(1500,0)表示水平向右直线轨迹
2表示圆轨迹
3表示摆线轨迹,额外参数arg1代表半径和辐角主值增量,额外参数arg2代表摆线轨迹方向
arg1--第一个额外参数,直线轨迹、圆轨迹、摆线轨迹要用到
arg2--第二个额外参数,摆线轨迹要用到
]]
function Fish:addPath(pathType,arg1,arg2)
if(pathType==1)then
   --给定轨迹起点和恒定速度矢量(恒定速率和恒定方向)的匀速直线运动
   --对于直线轨迹,arg1代表直线轨迹

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值