如何在Lua中使用数组与for循环执行批量命令并优化代码?
Lua数组+for循环优化重复代码方案
你的思路是对的,但需要补全创建数组和实例化对象的步骤——你写的循环代码里part数组还没定义,part[i]也没有对应的对象,直接运行会报错。
正确的完整写法应该把创建图片对象、缩放、设置不可见的逻辑都放进循环里,同时用数组统一存储所有部件:
local parts = {} -- 定义空数组,用来存放所有部件对象 for i = 1, 10 do -- 拼接文件名,创建图片对象并存入数组 parts[i] = display.newImage("part" .. i .. ".png", 0, 0) -- 执行缩放操作 parts[i]:scale(0.5, 0.5) -- 设置部件不可见 parts[i].isVisible = false end
关键说明:
- 用字符串拼接
"part" .. i .. ".png"自动生成对应编号的文件名,不用手动写10次不同的文件名 - 所有部件都存在
parts数组里,后续需要单独操作某个部件时,直接用parts[编号]调用即可(比如parts[3].isVisible = true显示第三个部件) - 你的原代码只处理了后续操作,但跳过了最关键的创建对象并放入数组的步骤,这是导致代码无法运行的核心问题
内容的提问来源于stack exchange,提问作者Night
相关产品推荐
相关产品推荐

