我是lua的代码,呜啦啦啦啦~~不过不影响嘛。
首先设置一些参数:
self.r = 260/2 --滚轮半径
self.vd = 330 --视点距离
self.arcPos = {135,180,225,270,315,360,45,90} --平铺放置节点的角度
我是按45度分部的,所以上面的角度先预留出来。这里涉及一个问题,最后再说。
触摸move的时候,move的距离,就是圆转过的弧长,那么这样就可以算出转动的角度arc
function AvatarGallery:move(distance,endMove)
endMove = endMove or false
local arc = distance/self.r
local view
for i = 1,#self.itemViews do
view = self.itemViews[i]
view.currentArc = self:trimArc(view.originArc + arc)
if endMove then
view.originArc = self:trimArc(view.currentArc)
end
local x,scale,zorder = self:get2dXScaleZorder(view.currentArc)
view:setPosition(x,0)
view:setScale(sca