【发布时间】:2016-03-31 06:38:22
【问题描述】:
所以我有这个代码
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)
我想做的是制作一个短跑切换程序。唯一的问题是它会工作一次然后根本不起作用。我可以单击它并更改文本,然后当我再次单击它时它什么也不做。我希望它能够在你每次按下它时工作。
【问题讨论】:
-
连接的处理程序是否触发一次然后需要重新连接?他们是否需要返回
true或false或其他东西来保持联系?更改按钮的文本会断开处理程序吗? -
嗯,我不这么认为。
-
基于 roblox wiki 上的此代码,您可以切换它,所以我不知道发生了什么
local button = script.Parent local sound = button:WaitForChild('Sound') sound:Play() local function onButtonClick() if sound.IsPlaying then button.Image = 'rbxgameasset://Images/MusicOff' sound:Stop() else button.Image = 'rbxgameasset://Images/MusicOn' sound:Play() end end button.MouseButton1Click:connect(onButtonClick) -
我很困惑,你还没有回复我的回答,它有用吗?