cocos-lua 制作无限循环ScrollView ,遇到的坑记录下来,笔记

本文记录了使用Cocos-Lua制作无限循环ScrollView的过程中遇到的问题及解决方案,包括监听事件的设置和滚动内容的更新。文章通过代码展示了如何处理ScrollView的滑动回调,实现内容的自动循环滚动。
摘要由CSDN通过智能技术生成

本来是在紧急开发中,想找官方已经有的,但是官方好像没有,无奈,只能自己写了。

    目前只写到了可以循环使用,也可以到顶不动,但是那个回弹效果还没写完。

    第一个坑:找监听。

        百度上面说是有几种办法,我都试了。第一感觉就是没用,然后不断的尝试找资料,后来发现是因为点击事件的原因,我ScrollView 的底图是一个layout,打开layout点击事件后就收不到全局点击事件了,所以需要关闭点击事件。

        self.image = ccui.Layout:create()
        self.image:ignoreContentAdaptWithSize(false)
        self.image:setName("Layout")
        self.image:setContentSize(self.startX * 2, self.scrollViewHeight)
        self.image:setPosition(self.x , self.y)
        self.image:setAnchorPoint(0.5,0.5)
        self.image:setOpacity(0)
        self.image:setClippingEnabled(true)

        self:addChild(self.image)     其他的监听都没返回touch坐标,所以不行

     第二个坑:额,暂时没啥坑。先不写。下面贴代码:

        



local M = class("ScrollView1" , cc.Node)
local Utils = require("Utils")


function M:ctor(par)
    if par then
          self.scrollView = par.scrollView
          self.gapY = par.gapY
          self.scrollViewHeight = par.scrollViewHeight
          self.startX = par.startX
          self.object = par.object
          self.x = par.x or 500
          self.y = par.y or 500
          if par.maxShowView then
             self.maxShowView = par.maxShowView
          else
             self.maxShowView = 10
          end
          self.isQidong = false
    end


    self.objectList = {}
    self.objectViewList = {}
    self.image = ccui.Layout:create()
    self.image:ignoreContentAdaptWithSize(false)
    self.image:setName("Layout")
    self.image:setContentSize(self.startX * 2, self.scrollViewHeight)
    self.image:setPosition(self.x , self.y)
    self.image:setAnchorPoint(0.5,0.5)
    self.image:setOpacity(0)
    self.image:setClippingEnabled(true)
    self:addChild(self.image)
    self:TouchEvent()
end


function M:ValueMoveUp()
    -- 当倒数第二个元素高于限制的高度时,便需要将第一个元素放到最后面
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值