根据鱼精灵帧资源或炸弹精灵帧资源中鱼或炸弹的头部朝向设置精灵的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代表直线轨迹