游戏中自定义滑动列表(分片加载、自动吸附)

本文介绍了在游戏开发中如何实现一个自定义滑动列表,以满足物品展示的滑动吸附和分片加载需求。通过自定义列表控件,实现了吸附功能、惯性滑动、点击事件响应以及长按提示逻辑,同时利用状态机管理不同滑动状态,以优化用户体验。此外,还讨论了分片加载策略,避免一次性加载过多数据导致的卡顿问题。
摘要由CSDN通过智能技术生成

自定义滑动列表

需求描述: 游戏中物品展示会存在自由滑动与吸附的需求, 并且在点击时需要吸附到固定位置,此外列表中的item可能需要绑定各种复杂的事件,吸附的流程非常影响体验,而内置的列表控件不支持吸附操作,不方便添加停滞后的事件触发, 难以在滑动的过程中改变每个item的外观表现。

 

实现方式: 实现自定义列表控件, 之前实现过相关的自定义列表控件, 具有基本吸附功能, 但是不支持item点击事件,也不支持item惯性滑动与回弹, 并没有实现内置列表的所有功能, 本次在物品展示界面需要通过滑动与吸附的方式以影片交卷的形式展示,要求具有滑动吸附, 定位切换,启动与停滞事件响应,加上本身item点击响应与长按提示逻辑,整个逻辑较为复杂,因此需要对之前自定义滑动列表进行迭代。

       自定义列表实际是给定一个Node节点通过向Node节点添加子节点添加item, 通过给item 添加touch事件驱动列表的移动,通过ui的tick驱动吸附与惯性的滑动。


图1 自定义列表的功能组成 

        列表的行为表现,通过状态机进行管理与实现,在不同状态下定义不同速度衰减模式与表现,暂时将状态分拖拽、点击移动、自动吸附、惯性滑动、边界回弹、停止,有状态机负责不同状态的切换。

        列表Item事件响应,内置监听事件o

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值