Lua 子弹不会发射

Lua 子弹不会发射,lua,scripting,roblox,Lua,Scripting,Roblox,最近,我一直在演播室里试验Lua的Roblox版本。我试图把一个移动的投射物连接到一个GUI按钮上。代码如下: local cannonp1 = workspace.CannonP1 local loopingvar = 0 script.Parent.MouseButton1Click:Connect(fire) function fire() repeat until loopingvar == 100 workspace.ProjectileP1.CFrame

最近,我一直在演播室里试验Lua的Roblox版本。我试图把一个移动的投射物连接到一个GUI按钮上。代码如下:

local cannonp1 = workspace.CannonP1
local loopingvar = 0

script.Parent.MouseButton1Click:Connect(fire)

function fire()
    repeat until loopingvar == 100
        workspace.ProjectileP1.CFrame = workspace.ProjectileP1.CFrame * CFrame.new(1, 0, 0)
        loopingvar = loopingvar + 1
        wait(0.1)
    end
end

我对Roblox工作室很陌生,所以我能说的就是当我按下按钮时,我的射弹没有发生任何事情。如果你想知道的话,抛射体是固定的。我知道好的问题应该详细说明,但除了我极为糟糕的脚本编写之外,我找不到其他会影响投射物移动的信息。我也查看了Roblox开发者论坛,但是大多数关于CFrame的帖子都已经过时了,在新版本的Roblox Studio中不起作用。我已经检查了所有可能的网站,但没有结果。任何建议都会让人惊讶。

您没有使用
重复,直到
正确为止。第一行应该是
repeat
,最后一行应该是
,直到loopingvar==100
。根本不应该有一个
结尾。目前,由于额外的
结尾
,代码中存在语法错误,即使没有它,您也会有一个无限循环,因为它基本上是
重复--[[donothing]],直到loopingvar==100


但是,通过使用数字
for
循环,您甚至可以做得更好。与上述更改不同的是,去掉
local loopingvar=0
loopingvar=loopingvar+1
,将
repeat直到loopingvar==100
替换为
for loopingvar=0100 do

,即使我修复了repeat命令(我尝试了两种方法),当我完全左键单击按钮时,我的投射物也不会发生任何变化。这是我的功能有问题吗?还是我的框架用法?@Hello Ya“完全左键单击”和常规单击有什么区别?什么样的点击才有效?用户必须完成一次完整的左键点击来激活按钮,而不仅仅是点击下键或点击上键。您好,如果您使用
MouseButton1Down
/
MouseButton1Up
而不是
MouseButton1Click
,效果会更好吗?