传奇M2引擎NPC界面ListView列表容器脚本使用教程
摘要:本文详解传奇M2引擎新版NPC界面中ListView列表容器的使用方法,包含前置兼容规则、参数解析、ID规范及实战示例,讲解横竖滑动列表配置技巧,帮助传奇开发者快速完成NPC界面布局定制与报错排查。…
一、前置兼容规范(必看)
传奇服务端定制NPC界面时,存在新旧两种界面编写逻辑,核心兼容规则如下:新NPC界面与老旧写法界面支持双向兼容,但单个NPC界面仅可采用一种编写方式,禁止在同一界面内混用新旧脚本语法,否则会导致界面黑屏、按钮失效、滑动异常等问题。
启用新版NPC面板写法强制配置路径:M2引擎客户端控制→页面显示→勾选启用新NPC面板写法,ListView列表容器仅适配该新版开关,旧版面板无法识别该脚本标签。
二、ListView列表容器核心概述
ListView是传奇自定义NPC界面的核心容器组件,支持横向、竖向双向滑动,可自由配置子控件间距、滑动回弹、滑块样式等参数,主要用于批量陈列道具、功能按钮、图标列表等内容,是传奇界面定制中使用率最高的布局容器。
三、ListView基础语法与核心参数详解
3.1 基础语法格式
原生闭合标签格式:<ListView></ListView>
带参单行写法(工程常用):<ListView|参数1=值|参数2=值|>
3.2 通用基础参数
所有参数区分大小写,仅填入规范数值/指定字符才可生效,核心基础参数说明如下:
children:绑定子控件ID集合,大括号内填写当前列表承载的ItemShow等子控件ID,多个ID用逗号分隔,为必填核心参数。
direction:列表滑动与排列方向,1=竖向排列(上下滑动),2=横向排列(左右滑动)。
margin:列表内部子控件之间的间距,数值越大控件间隔越宽,根据界面排版需求自定义。
reload:面板刷新控制参数,1=打开面板时刷新列表数据,0=不刷新,静态道具列表建议设为0。
default:初始索引跳转位置,填写列表序号值,打开界面时自动定位到对应顺序的子控件。
cantouch:滑动权限控制,1=允许玩家手动滑动(默认值),0=锁定禁止滑动。
3.3 滑块专属参数
滑块为可选配置组件,开启后可辅助长列表快速滑动,参数生效规则:Slider=1时启用滑块,无自定义滑块参数时调用引擎默认滑块;参数为非数值格式时,对应控件不显示。
Slider:滑块总开关,1=开启滑块显示,0=隐藏滑块。
Sdbg:滑块背景图资源序号,对应客户端补丁内图片编号。
Sdupnimg/Sdupmimg/Sduppimg:上/左箭头三种状态图片序号,分别对应正常、悬停、按下状态。
Sdnimg/Sdmimg/Sdpimg:滑块主体三种状态图片序号,分别对应正常、悬停、按下状态。
Sddwnimg/Sddwmimg/Sddwpimg:下/右箭头三种状态图片序号,分别对应正常、悬停、按下状态。
方向适配规则:direction=1竖向列表,滑块按钮上下排布;direction=2横向列表,滑块按钮左右排布。
四、脚本ID强制规范
传奇NPC界面脚本ID全局唯一,禁止重复定义,全局通用规则统一如下:
1. 界面背景固定默认ID为1,该ID被引擎占用,不可自定义修改;
2. 所有自定义容器、控件ID必须从2开始递增编写;
3. 同一界面内ListView、ItemShow等所有控件ID不得重复,否则会导致界面加载报错。
五、标准写法示例解析
5.1 基础竖向列表示例
<ListView|children={2,3,4,5,6,7,8,9}|x=33|y=55|width=220|height=440|direction=1|bounce=0|margin=1|reload=0>
代码解析:该列表为竖向排列,绑定8个子控件ID;若需打开界面自动跳转到ID=9的控件,default参数需设为8,因为ID=9在children集合中为第8个顺序位,索引从0开始计数。
5.2 横向道具陈列完整示例
<ListView|id=7|x=260|y=310|children={70,71,72,73,74,75,76,77,78,79}|width=400|height=60|direction=2|bounce=0|margin=40|cantouch=1|color=x>
<ItemShow|id=70|itemid=10448|itemcount=100|showtips=1|bgtype=1|grey=0>
<ItemShow|id=71|itemid=10448|itemcount=100|showtips=1|bgtype=1|grey=0>
<ItemShow|id=72|itemid=10448|itemcount=100|showtips=1|bgtype=1|grey=0>
<ItemShow|id=73|itemid=10448|itemcount=100|showtips=1|bgtype=1|grey=0>
<ItemShow|id=74|itemid=10448|itemcount=100|showtips=1|bgtype=1|grey=0>
<ItemShow|id=75|itemid=10634|itemcount=100|showtips=1|bgtype=1|grey=0>
代码解析:自定义ID为7的横向滑动列表,坐标X260/Y310,宽度400高度60;子控件间距40,支持玩家滑动,内部挂载6个道具展示控件,分别对应不同道具ID,可直接用于传奇商城、背包快捷陈列界面。
六、常见排错小贴士
1. 界面加载空白:优先检查是否开启新版NPC面板开关,核对脚本ID是否重复;
2. 列表无法滑动:查看cantouch参数是否设为0,确认direction参数与滑块配置匹配;
3. 图片不显示:核查图片资源序号是否正确,确认参数是否为非数值格式导致控件隐藏。


