Roblox Lua脚本没有激活。
2015-12-25 0:59:20
收藏:0
阅读:77
评论:2
我有这段代码
local player = game.Players.LocalPlayer
local unitFrame = script.Parent
local buttona = unitFrame.buttonA
local sprinting = true
unitFrame.Title.Text = "Perks"
local function onButtonAClick()
unitFrame.Title.Text = "perks"
end
local function sprintButton()
if sprinting == false then
sprinting = true
player.Character.Humanoid.WalkSpeed = 20
unitFrame.buttonA.Text = "strinting"
end
if sprinting == true then
sprinting = false
player.Character.Humanoid.WalkSpeed = 16
unitFrame.buttonA.Text = "walking"
end
end
buttona.MouseButton1Click:connect(sprintButton)
我想做的是一个切换奔跑状态的程序。唯一的问题是它只会执行一次就不会再执行了。我可以单击它并更改文本,然后再次单击它就不起作用了。我希望它能在每次按下按钮时都能正常工作。
点赞
用户3924687
你的逻辑不正确。正如 warspyking 所说,你的条件语句有问题。通过添加 elseif 语句来修复这个问题。
local function sprintButton()
if not sprinting then
sprinting = true
player.Character.Humanoid.WalkSpeed = 20
unitFrame.buttonA.Text = "sprinting"
elseif sprinting then
sprinting = false
player.Character.Humanoid.WalkSpeed = 16
unitFrame.buttonA.Text = "walking"
end
end
2015-12-26 20:25:49
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
在这个函数中,你检查了两个 if 语句。一个检查 sprinting 是否为 false,另一个检查它是否为 true。
理解你的问题的关键在于这两个 if 语句相互抵消。
让我们来详细分析一下。首先它检测 sprinting 是否为 false。不,sprinting 不是 false。然后它检查 sprinting 是否为 true。是的!接着它将其设置为 false。
目前为止还不错,对吧?但是这里出现了问题。当你再次尝试运行它时,sprinting 变成了 false。于是第一个 if 语句被执行,将其设置为 true。但是接下来立即执行了 ANOTHER if 语句。由于此时 sprinting 已经是 true,这个语句被执行,将其设置为 false。看起来好像什么都没发生。
那么你的解决办法是什么呢?去掉第一个 if 语句的结尾,并且将第二个 if 改为一个 elseif 语句。这样一旦一个语句被评估为 true,它就不会再去评估下一个语句了。