07 ScrollView 滚动视图
发布时间:2020-12-14 19:12:48 所属栏目:百科 来源:网络整理
导读:ScrollView 滚动视图 看看效果图: 代码: -- 来一个sprite 当容器背景local scrollViewBack = cc.Sprite:create("image/back2.png")scrollViewBack:setAnchorPoint(0,0) local scrollView = cc.ScrollView:create()scrollView:setPosition(winSize.width/2-
ScrollView 滚动视图 看看效果图:
代码: -- 来一个sprite 当容器背景 local scrollViewBack = cc.Sprite:create("image/back2.png") scrollViewBack:setAnchorPoint(0,0) local scrollView = cc.ScrollView:create() scrollView:setPosition(winSize.width/2-500,winSize.height/2-200) self:addChild(scrollView) -- setContentSize 和 setContainer 都是 设置真实区域的大小(也可以理解为容器大小) 包括不可见部分 -- setContainer: 设置容器,可以根据一个node设置背景内容和真实区域的大小,没有设置的情况下 默认是个node(大小貌似是200*200) scrollView:setContainer(scrollViewBack) -- setContentSize: 设置大小,不改变容器本身内容,但是设置了真实区域的大小 scrollView:setContentSize(cc.size(1920,640)) scrollView:setViewSize(cc.size(1000,400)) --设置可见部分的大小 scrollView:setBounceable(false) --设置是否回弹 for i=1,5 do local img = cc.Sprite:create("image/"..tostring(i)..".png") img:setPosition(220*(i-1)+500,200) scrollView:addChild(img) end --设置 滑动 方向 scrollView:setDirection(cc.SCROLLVIEW_DIRECTION_HORIZONTAL) -- cc.SCROLLVIEW_DIRECTION_NONE -- cc.SCROLLVIEW_DIRECTION_HORIZONTAL<span style="white-space:pre"> --水平 -- cc.SCROLLVIEW_DIRECTION_VERTICAL<span style="white-space:pre"> --垂直 -- cc.SCROLLVIEW_DIRECTION_BOTH local function scrollViewEvent() --print("滚动") -- 可以获取当前滑动的百分 -- <span style="font-family: Arial,Helvetica,sans-serif;">滑动量 --两种写法</span> --local offsetX = scrollView:getContainer():getPositionX() local offsetX = scrollView:getContentOffset().x -- 总长度 - 可视长度 --两种写法 --local lenth = scrollView:getContainer():getContentSize().width - scrollView:getViewSize().width local lenth = scrollView:getContentSize().width - scrollView:getViewSize().width print( offsetX / lenth * -100) end scrollView:setDelegate() --开启代理 没开启则回调无效 --设置回调 --设置滚动时候回调scrollView:registerScriptHandler(scrollViewEvent,cc.SCROLLVIEW_SCRIPT_SCROLL)
还有一些其他的接口: -- 设置内容的偏移 参数2 是否开启动画 -- setContentOffset(cc.p(x,y),bool animated) -- 设置内容的偏移 参数2 时间 -- setContentOffsetInDuration(Vec2 offset,float dt) -- getContentOffset() -- 设置缩放 参数 缩放比例 是否开启动画 (设置缩放不知道是bug还没修正还是自己代码没写对,没有效果) -- setZoomScale(float s) 参数 缩放比例 -- setZoomScale(float s,bool animated) 参数 缩放比例 是否开启动画 -- setZoomScaleInDuration(float s,float dt )参数 缩放比例 动画时间 -- local function scrollViewEvent2() --print("ZOOM") -- end -- 设置回调 -- 设置缩放时候回调 -- scrollView:registerScriptHandler(scrollViewEvent2,cc.SCROLLVIEW_SCRIPT_ZOOM) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |