Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- return function(page, offset, is_inside, d)
- local percent = offset/page.width
- page.layer.x = page.layer.x + offset
- local ad = percent*page.height
- local angle = -percent*math.pi/2
- local h = page.width/2
- local x=0
- local z=0
- if d==1 then
- x = h*math.cos(math.abs(angle)) - page.width/2
- z = -h*math.sin(math.abs(angle))
- if percent > 0 then
- x = -x
- end
- x = x - offset
- if is_inside then
- z = -z
- angle = -angle
- end
- page:translate(x, 0, z)
- page:rotate(angle, 0, 1, 0)
- end
- if d==2 then
- x = h*math.cos(math.abs(angle)) - page.width/2
- z = -h*math.sin(math.abs(angle))
- x = -x
- if percent<0 then
- x = -x
- end
- x = x - offset
- if is_inside then
- z = -z
- angle = -angle
- end
- page:translate(-x, 0, z)
- page:rotate(-angle, 0, 1, 0)
- end
- if d==3 then
- x = (page.height/2)*math.cos(math.abs(angle)) - page.height/2
- z = -(page.height/2)*math.sin(math.abs(angle))
- x = -x
- if percent<0 then
- x = -x
- end
- x = x - ad
- if is_inside then
- z = -z
- angle = -angle
- end
- page:translate(0, x, z)
- page:rotate(-angle, 1, 0, 0)
- end
- if d==4 then
- x = (page.height/2)*math.cos(math.abs(angle)) - page.height/2
- z = -(page.height/2)*math.sin(math.abs(angle))
- x = -x
- if percent<0 then
- x = -x
- end
- x = x - ad
- if is_inside then
- z = -z
- angle = -angle
- end
- page:translate(0, -x, z)
- page:rotate(angle, 1, 0, 0)
- end
- return x, z, angle
- end
Advertisement
Add Comment
Please, Sign In to add comment