闪电特效 根据不同的起点 终点 资源做倾斜 拉伸 ,主要是计算倾斜角度。
function ZyLight:show(params) local params = params or {} local startp = params.startp -- 起点 local endp = params.endp -- 终点 local midp = cc.pMidpoint(startp, endp) local psub = cc.pSub(endp, midp) -- p1 - p2 local distance = cc.pGetDistance(startp, endp) -- 0 local a = math.atan2(psub.x, psub.y) local a2 = math.deg(a) local bg = cc.ui.UIImage.new("#images/ui/light.png") :align(display.CENTER, midp.x, midp.y) -- 以0.5为锚点 索引 psub 使用的是中点 :scale(ZySize.scale) :addTo(display.getRunningScene()) bg:rotation(a2) bg:setScaleY(distance/bg:getContentSize().width) -- 图片是竖直的长条,所以拉伸的是Y轴。 end