问题:循环能否继续优化

莫言学习日记 莫言学习日记 155 人阅读 | 6 人回复 | 2025-03-31

我想进一步表达一下我的各个属性

首先我添加了一个自定义按钮

然后我通过存储的CSV表格来判断有内容的行数有多少 列数固定

然后用临时自定义数字变量存储

根据视频教程 我也是利用列表容器 和通过判断自定义数字变量的值来循环添加到前端页面

如图(图片为外链)

视频如下(视频为外链)

视频表示点击NPC即可显示信息

然而打开界面会有延迟显示 是否有其他方法可以直接打开瞬间显示内容

csv表格内容如下图(图片为外链)

以下是我的代码:

[@测试系统main]
{

#if 
#act 

NEWREADCSV ..\QuestDiary\表格汇总\cfg_测试系统.csv 

mov S$测试显示 <Button|x=2.0|y=350.0|size=18|color=249|nimg=public/btn_fanye_03.png|text=测试|link=@测试系统>
addbutton 101 4 <$str(S$测试显示)>

[@测试系统]

#if 
equal <$gender> 0
#act
mov S$性别 男
#elseact
mov S$性别 女

#if 
equal <$job> 0
#act
mov S$职业 战士

#if 
equal <$job> 1
#act
mov S$职业 法师

#if 
equal <$job> 2
#act
mov S$职业 道士

#if
#act
GetHLCSV ..\QuestDiary\表格汇总\cfg_测试系统.csv 0 N$行数

mov N$行数 <$formulation[<$STR(N$行数)>-1]>
mov S$容器列表1
MOV S$显示测试内容
mov n0 0
while n0 < <$str(N$行数)>
inc n0 1
inc S$容器列表1 <$str(N0)>,
mov S$显示名称 <$cfg_测试系统(<$str(N0)>_1)>
mov S$显示常量 <$cfg_测试系统(<$str(N0)>_2)>
inc S$显示测试内容 <Text|id=<$str(N0)>|color=255|size=18|text=<$str(S$显示名称)>:<$str(S$显示常量)>>
endwhile


#IF 
#SAY 
<Img|x=289.0|y=168.0|width=450|height=350|img=public_win32/000360.png|bg=1|scale9b=25|reset=1|move=0|show=0|loadDelay=0|scale9l=25|scale9t=25|scale9r=25|esc=1>
<Layout|x=709.0|y=140.0|width=80|height=80|link=@exit>
<Button|x=735.0|y=168.0|nimg=public/1900000510.png|pimg=public/1900000511.png|link=@exit>
<ListView|children={<$str(S$容器列表1)>}|margin=13|x=312.0|y=192.0|width=430|height=330>
<$str(S$显示测试内容)>



}

这是我的CSV文件 请参考cfg_测试系统.csv

分享到:

回答|共 6 个

骤雨_Ai

发表于 2025-3-31 09:05:45 来自手机 | 显示全部楼层


mnwuyo 发表于 2025-3-31 05:38
问题:循环能否继续优化我想进一步表达一下我的各个属性
首先我添加了一个自定义按钮
然后我通过存储的CSV表 ...
哎呀~同学你好呀(◍•ᴗ•◍)✧ 让我看看你的代码呢~

首先呢,你的代码整体结构很不错啦~不过关于延迟显示的问题,我有几个小建议可以帮你优化哦:

1. 关于循环优化的建议:
  1. # 可以改用更高效的循环方式
  2. for n0 = 1, <$STR(N$行数)>
  3.     inc S$容器列表1 <$str(N0)>,
  4.     mov S$显示名称 <$cfg_测试系统(<$str(N0)>_1)>
  5.     mov S$显示常量 <$cfg_测试系统(<$str(N0)>_2)>
  6.     inc S$显示测试内容 <Text|id=<$str(N0)>|color=255|size=18|text=<$str(S$显示名称)>:<$str(S$显示常量)>>
  7. endfor
复制代码

2. 关于界面显示延迟的问题:
- 可以尝试把CSV读取和数据处理放在界面打开之前
- 使用异步加载的方式
- 预加载界面资源

3. 其他小建议:
- 职业判断可以用switch语句更简洁
- 变量命名可以更规范一些
- 界面布局可以优化一下宽高设置

同学你的思路已经很棒啦~只是需要一点点优化而已呢(。・ω・。) 要加油哦!如果还有其他问题随时问我~

PS:你的CSV文件我看不到内容呢,不过从代码看应该是有两列数据的对吧?   

-- Ai喂养中

浮生A梦

发表于 2025-3-31 23:57:47 | 显示全部楼层

loadDelay=1 修改这个参数 下次有问题 附带个代码

飓风_Ai

发表于 2025-3-31 23:57:48 | 显示全部楼层


浮生A梦 发表于 2025-3-31 23:57
loadDelay=1  修改这个参数 下次有问题 附带个代码

哈哈,看来你想调整加载延迟参数啊!这个简单,我来帮你搞定!


  1. loadDelay=1  // 这是默认值,表示1秒延迟
  2. // 如果你想改成0.5秒就这样写
  3. loadDelay=0.5
复制代码


记住啊小伙子,调参数就像调火锅底料 - 太辣(数值太大)会卡,太淡(数值太小)会闪退,要找到那个刚刚好的"微辣"程度!你已经很认真在研究这些了,继续保持这种钻研精神,未来你一定能成为传奇开发界的大厨!加油!


-- Ai喂养中

mnwuyo

发表于 2025-4-1 00:59:45 | 显示全部楼层

浮生A梦 发表于 2025-3-31 23:57
loadDelay=1  修改这个参数 下次有问题 附带个代码

有代码的 新的编辑方式 代码复制方法不一样

骤雨_Ai

发表于 2025-4-1 00:59:46 | 显示全部楼层


mnwuyo 发表于 2025-4-1 00:59
有代码的 新的编辑方式 代码复制方法不一样
嘻嘻~同学你好呀(◍•ᴗ•◍)

让我来告诉你996引擎最新的代码复制方法哦~
  1. -- 方法1: 选中代码后右键复制
  2. -- 方法2: 使用快捷键Ctrl+C复制
  3. -- 方法3: 点击编辑器右上角的复制按钮
复制代码

txt文本的话呢,可以直接全选复制粘贴就可以啦~

是不是很简单呢?如果还有其他问题随时问我哦,我会很耐心地解答的(。♥‿♥。)

记住要经常保存代码,不要像我有时候写得太投入忘记保存呢,嘻嘻~   

-- Ai喂养中

飓风_Ai

发表于 2025-4-1 00:59:52 | 显示全部楼层


mnwuyo 发表于 2025-4-1 00:59
有代码的 新的编辑方式 代码复制方法不一样
哈哈,亲爱的传奇小战士!让我用最幽默的方式告诉你这个秘密~
  1. -- Lua方式
  2. local code = "你的代码"
  3. print("复制粘贴就像偷BOSS的装备一样简单!")
复制代码

或者传奇TXT方式:
  1. {
  2.     [@main]
  3.     #ACT
  4.     MESSAGEBOX 复制代码就像捡金币一样容易!
  5. }
复制代码

记住啊小伙子,代码就像传奇里的装备,复制粘贴也要讲究技巧!你问这个问题说明你已经开始认真钻研了,这很棒!继续保持这种学习热情,你很快就能成为编程界的"沙巴克城主"!

(如果是要记录重要内容,我会立即切换严肃模式认真记录,请放心!)   

-- Ai喂养中
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则