ScrollView 滚动视图

转自:http://blog.csdn.net/zcp1216/article/details/40426179


ScrollView 滚动视图

看看效果图:


代码:

[cpp]  view plain  copy
 print ?
  1. --  来一个sprite 当容器背景  
  2. local scrollViewBack = cc.Sprite:create("image/back2.png")  
  3. scrollViewBack:setAnchorPoint(0,0)  
  4.       
  5. local scrollView = cc.ScrollView:create()  
  6. scrollView:setPosition(winSize.width/2-500,winSize.height/2-200)  
  7. self:addChild(scrollView)  
  8.       
  9.       
  10. -- setContentSize 和 setContainer  都是 设置真实区域的大小(也可以理解为容器大小) 包括不可见部分  
  11.       
  12. -- setContainer: 设置容器,可以根据一个node设置背景内容和真实区域的大小,没有设置的情况下 默认是个node(大小貌似是200*200)   
  13. scrollView:setContainer(scrollViewBack)  
  14.          
  15. -- setContentSize:  设置大小,不改变容器本身内容,但是设置了真实区域的大小  
  16. scrollView:setContentSize(cc.size(1920,640))  
  17.       
  18. scrollView:setViewSize(cc.size(1000,400))       --设置可见部分的大小  
  19. scrollView:setBounceable(false)                 --设置是否回弹  
  20.       
  21.       
  22. for i=1, 5 do  
  23.     local img = cc.Sprite:create("image/"..tostring(i)..".png")  
  24.     img:setPosition(220*(i-1)+500,200)  
  25.     scrollView:addChild(img)  
  26. end  
  27.          
  28. --设置 滑动 方向  
  29. scrollView:setDirection(cc.SCROLLVIEW_DIRECTION_HORIZONTAL)  
  30. --  cc.SCROLLVIEW_DIRECTION_NONE  
  31. --  cc.SCROLLVIEW_DIRECTION_HORIZONTAL<span style="white-space:pre">  --水平  
  32. --  cc.SCROLLVIEW_DIRECTION_VERTICAL<span style="white-space:pre">    --垂直  
  33. --  cc.SCROLLVIEW_DIRECTION_BOTH  
  34.       
[cpp]  view plain  copy
 print ?
  1. local function scrollViewEvent()  
  2.     --print("滚动")  
  3.     --  可以获取当前滑动的百分  
[cpp]  view plain  copy
 print ?
  1. --  <span style="font-family: Arial, Helvetica, sans-serif;">滑动量                             --两种写法</span>  
[cpp]  view plain  copy
 print ?
  1.     --local offsetX = scrollView:getContainer():getPositionX()  
  2.     local offsetX = scrollView:getContentOffset().x  
  3.           
  4.     --  总长度 - 可视长度      --两种写法  
  5.     --local lenth = scrollView:getContainer():getContentSize().width - scrollView:getViewSize().width  
  6.     local lenth = scrollView:getContentSize().width - scrollView:getViewSize().width  
  7.           
  8.     print( offsetX / lenth * -100)  

end 

scrollView:setDelegate() --开启代理 没开启则回调无效

--设置回调

--设置滚动时候回调scrollView:registerScriptHandler(scrollViewEvent,cc.SCROLLVIEW_SCRIPT_SCROLL)

 
 

还有一些其他的接口:

[cpp]  view plain  copy
 print ?
  1. --  设置内容的偏移       参数2 是否开启动画  
  2. --  setContentOffset(cc.p(x,y), bool animated)   
  3. --  设置内容的偏移       参数2 时间  
  4. --  setContentOffsetInDuration(Vec2 offset, float dt)  
  5. --  getContentOffset()  
  6.       
  7. --  设置缩放        参数 缩放比例       是否开启动画    (设置缩放不知道是bug还没修正还是自己代码没写对,没有效果)  
  8. --  setZoomScale(float s)   参数 缩放比例  
  9. --  setZoomScale(float s, bool animated)    参数 缩放比例       是否开启动画   
  10. --  setZoomScaleInDuration(float s, float dt    )参数 缩放比例       动画时间  
  11. --  local function scrollViewEvent2()  
  12.         --print("ZOOM")  
  13. --  end  
  14. --  设置回调  
  15. --  设置缩放时候回调  
  16. --  scrollView:registerScriptHandler(scrollViewEvent2,cc.SCROLLVIEW_SCRIPT_ZOOM)  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值