只为菜鸟 cocos2dx-lua 实现Scrollview (vs2013)

本文介绍如何在Lua中使用cocos2d-x库创建并配置ScrollView。通过实例演示了设置触摸及反弹功能、定义滚动方向、调整尺寸等操作,并展示了如何添加按钮及监听事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前自己是学quick lua的 现在改用原型的lua了 所以整理一些资料,为初学者提供方便。当然你也可以去看lua-tests里面也很详细。
首先创建scrollview
local scrollview=ccui.ScrollView:create()
scrollview:setTouchEnabled(true)
scrollview:setBounceEnabled(true) –这句必须要不然就不会滚动噢
scrollview:setDirection(ccui.ScrollViewDir.vertical) –设置滚动的方向
scrollview:setContentSize(cc.size(800,500)) –设置尺寸
scrollview:setPosition(cc.p(display.cx,display.cy))
scrollview:setAnchorPoint(cc.p(0.5,0.5))
scrollview:setScrollBarWidth(30) –滚动条的宽度
scrollview:setScrollBarColor(cc.RED) –滚动条的颜色
scrollview:setScrollBarPositionFromCorner(cc.p(2,2))
self._uilayer:addChild(scrollview) –这里我是加在层上的你可以直接self:addChild(scrollview)

   local function scrollviewEvent(sender,eventType)
   if eventType==ccui.ScrollviewEventType.scrollToBottom then
       print("滚动到底部噢")
   elseif eventType==ccui.ScrollviewEventType.scrollToTop then
      print("滚动到顶部噢")
   end
   end
   scrollview:addTouchEventListener(scrollviewEvent)
   local innerWidth=scrollview:getContentSize().width
   local innerHeight=scrollview:getContentSize().height

  scrollview:setInnerContainerSize(cc.size(innerWidth,innerHeight))

  local btn_01=ccui.Button:create() 创建一个button加在scrollview上
  btn_01:loadTextures("button_1020@2x.png","button_1019@2x.png")
  btn_01:setPosition(cc.p(innerWidth/2,
  scrollview:getInnerContainerSize().height-btn_01:getContentSize().height/2))
  scrollview:addChild(btn_01)
  btn_01:addTouchEventListener(function (sender,event)  
   if event==ccui.TouchEventType.began then
      print("点击开始")
   end
   if event==ccui.TouchEventType.ended then
      print("点击了第一个按钮,跳转到一个层")
   local layer=cc.Layer:create()
   local layer_bg=cc.Sprite:create("panle_1072@2x.png")
   layer_bg:setPosition(cc.p(display.cx,display.cy))
   layer:addChild(layer_bg, 2)
   self:addChild(layer,2)
 end

end)
你也可以在加上几个按钮图片什么的。
我加了三个按钮和一张图,明显看到可以滑动。简单的scrollview就实现了
(https://img-blog.youkuaiyun.com/20160506151109699)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值