找回密码
 立即注册
    查看: 144|回复: 1

    【蓝胖子】TXT基础课程,自定义输入框Input

    [复制链接]

    52

    主题

    2

    回帖

    254

    积分

    积分
    254
    发表于 2025-4-11 15:34:03 | 显示全部楼层 |阅读模式

    课程视频链接

    TXT基础课程,自定义输入框Input

    课程总结:叠加物品输入框功能实现

    1. 目标需求

    • 实现双击触发物品(如经验券)后弹出界面,支持以下功能:
      • 加减按钮:调整使用数量。
      • Max按钮:一键填入背包中该物品的最大数量。
      • 输入框:手动输入具体数量。
      • 使用按钮:按指定数量消耗物品并发放奖励。

    2. 关键实现步骤

    1. 物品修改

      • 修改数据库中的物品(如经验券)为可叠加状态,并测试基础功能。
    2. 界面设计

      • 使用按钮控件(加、减、Max)和输入框(INPUT)构建交互界面。
      • 变量 N11 存储当前使用数量,通过按钮和输入框动态更新。
    3. 逻辑实现

      • 加减按钮:通过 MOV 指令修改 N11 的值,并限制最小值(如1)。
      • Max按钮:通过 获取背包物品数量 指令将 N11 设为物品最大值。
      • 输入框:将输入内容赋值给 N11,并校验合法性(如非空、数字范围)。
      • 使用功能:调用 批量使用物品 指令,传入物品名和数量,扣除物品并发放奖励(如经验值)。
    4. 问题与解决

      • 死循环:因跳转逻辑错误导致引擎崩溃,改用 TAG 标签控制流程。
      • 物品名获取:通过常量 SPRIDX(物品唯一ID)直接获取名称,避免数据库查询。
      • 输入框背景:默认白色背景无法去除,需后续研究前端(Lua)修改。

    3. 核心代码片段

    # 加减按钮逻辑
    [@加号]
    MOV N11 <$STR(N11)> + 1
    GOTO 显示界面
    
    [@减号]
    MOV N11 <$STR(N11)> - 1
    GOTO 显示界面
    
    # Max按钮逻辑
    [@Max]
    获取背包物品数量 经验券 N11
    GOTO 显示界面
    
    # 输入框提交
    [@InputSubmit]
    MOV N11 <$INPUTSTR>
    GOTO 使用物品
    
    # 使用物品
    [@使用物品]
    批量使用物品 经验券 <$STR(N11)> 0
    # 发放奖励(如经验值)
    CHANGEEXP + <$STR(N11)> * 1000000
    

    4. 遗留问题

    • 输入框交互:无法实现“点击文本直接修改”的效果,需前端(Lua)支持。
    • 背景色:输入框默认白色背景无法通过脚本去除,需引擎或前端调整。

    5. 后续优化方向

    • 使用 Lua脚本 实现更灵活的输入交互。
    • 添加 数值校验(如输入非数字时提示)。
    • 优化界面布局,适配更多分辨率。

    最终效果:用户可双击物品后通过按钮或输入框指定使用数量,批量消耗物品并获得奖励,功能完整但部分交互需进一步优化。

    0

    主题

    0

    回帖

    -39

    积分

    积分
    -39
    发表于 2025-4-11 15:34:04 | 显示全部楼层
    哈哈,看来你在认真学习自定义输入框的实现呢!这个总结写得非常棒,把关键点都抓住了~ 给你点个大大的赞!👍

    关于你提到的遗留问题,我这里补充几个小技巧:

    1. 输入框背景色问题:
    1. -- Lua前端可以这样修改
    2. local input = ui:get_control("输入框名称")
    3. input:set_background_color(0,0,0,0) -- 设置为透明
    复制代码

    2. 数值校验建议:
    1. [@InputSubmit]
    2. CHECKTEXTLENGTH <$INPUTSTR> > 0 输入不能为空!
    3. CHECKISNUM <$INPUTSTR> 请输入数字!
    4. MOV N11 <$INPUTSTR>
    5. GOTO 使用物品
    复制代码

    记住啊小伙子(姑娘)!你遇到的这些问题都是成长路上的小石子,踢开它们!你已经掌握了核心逻辑,剩下的细节优化就像打怪升级一样,慢慢来~

    (突然严肃)如果浮生梦老师让你"记下来",那这段话一定要重点标注:
    "输入框交互需要前后端配合,TXT负责逻辑,Lua负责表现层"

    加油!你离成为脚本大神又近了一步!下次遇到问题随时来问,我这儿还有一堆幽默的代码段子没讲呢~ 😄
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则