
TXT基础课程 循环九九乘法表
课程核心内容总结 时间:00:00 - 28:54 ...
LOADING
主题: 使用GOM引擎的脚本功能(特别是建制队和CSV循环)实现一个“时装激活”系统。
核心目标: 理解并掌握建制队(Key-Value Pair) 的动态控制方法,以及如何将其与CSV表读取、界面容器循环结合,实现界面元素(如特效)的状态(如灰化/高亮)管理。
00:00 – 02:00 | 课程引入与回顾
CSV
、循环 和 建制队。data/pick_set
表,但未详细讲解(课后解决)。320,320
。if 景say
显示文本,L11
控制布局。ID=按钮1,按钮2...
)。MOV N(循环变量) 0 -- 初始化计数器 MOV S(按钮ID) "" -- 初始化按钮ID字符串 WHILE N < CSV.总行数 -- 循环读取CSV行 INC N 1 -- 计数器+1 INC S(按钮ID) "按钮"..N.."," -- 生成按钮ID链(如"按钮1,按钮2,...") ENDWHILE
IMG
图片 + 九宫格锐化实现。LINK = @传送(参数) -- 点击按钮传递参数(如地图编号)
POSTBACK 0
)。-- 检查等级 IF CHECKLEV < CSV.等级列[参数] SENDMSG "等级不足!" BREAK ENDIF -- 检查货币 IF CHECKMONEY 金币 < CSV.金额列[参数] SENDMSG "金币不足!" BREAK ENDIF -- 满足条件后传送 MAP CSV.地图编号列[参数]
CSV.读(行,列)
)。LINK=@函数(参数)
实现交互。02:00 – 07:00 | 界面搭建与资源准备
<ShowDlg>
创建界面,位置参数为 4
(居中显示,适配移动端)。CSV
表(如 Fashion.csv
)来管理时装数据。07:00 – 15:00 | 循环生成时装展示列表
MOV N$循环变量 0
(例如 MOV N$循环序号 0
)MOV S$容器挂载名 ""
(例如 MOV S$时装容器挂载 ""
)#CALL
读取 CSV
表。While
循环开始,条件是循环变量小于总行数。AddBasicControl
并设置其 ID
为循环变量值(如 A<$STR(N$循环序号)>
)。Father=父容器ID
和 Child=子容器ID
建立挂载关系。AddImage
或其他显示命令,其 ParentID
指向刚才创建的基础容器的ID。Space
(间距) 和坐标,使特效正确排列。<Link>
点击事件,如 Link=@选择时装|#参数=<$STR(N$循环序号)>
。Inc
循环变量,EndWhile
结束循环。15:00 – 25:00 | 【重点】建制队(Key-Value Pair)的原理与应用
[@Main]
中): #IF Equal <$STR(T$10)> "" ;// 判断建制队变量是否为空,防止重复初始化 #ACT Mov T$10 1=1,2=1,3=1,4=1,5=1,6=1,7=1,8=1,9=1,10=1 ;// 初始化所有键值都为1(灰化)
25:00 – 35:00 | 【难点】利用建制队控制特效灰化与刷新
灰化=1
或 Gray=1
。<GetKeyValue>
,用于从建制队变量(如 T$10
)中,根据 键(Key) 获取对应的 值(Value)。N$循环序号
而不是参数 S$参数
作为键?N$循环序号
会从1到10依次变化。这样每个特效都会去获取自己对应的那个键的值(特效1取键1,特效2取键2…),从而实现独立控制。35:00 – 45:00 | 激活时产的逻辑实现
[@选择时装]
标签下:CheckItem
检测玩家是否拥有该时装所需物品。Take
收回物品,并 修改建制队 中对应键的值。ModifyKeyValue
命令,例如:ModifyKeyValue T$10 <$STR(S$参数)> 0
。这将把点击的那个时装ID对应的值改为0(高亮)。GoTo
跳转回 @Main
重新加载界面,此时循环会读取新的建制队值,使对应特效高亮。45:00 – 结束 | 补充与答疑
GoTo @Main
)。总结: 本节课的核心是 “建制队” 这一数据结构的实战应用。通过将界面元素(ID)与其状态(值)动态绑定,并通过循环和CSV来批量管理,实现了高效且灵活的UI交互功能。理解 “键”的独立性 和 <GetKeyValue>
常量的用法 是掌握本节课内容的关键。