CFrame子弹无法发射

最近,我一直在Roblox版本的Lua中尝试实验。我试图将一个移动的弹丸连接到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 Studio的新手,所以我只能说当我按下按钮时,我的弹丸没有发生任何事情。如果你想知道,弹丸是固定的。我知道好的问题应该详细说明,但我找不到任何其他信息会影响弹丸的移动,除了我非常糟糕的脚本。我还在Roblox开发者论坛上检查过,但大多数关于CFrame的帖子都已过时,不适用于新版Roblox Studio。我已经检查了几乎所有可能的网站,但都没有成功。任何建议都将是惊人的

点赞
用户7509065
用户7509065

你没有正确使用 repeat until。第一行应该是 repeat,最后一行应该是 until loopingvar == 100。根本不需要 end。目前,由于额外的 end,你的代码存在语法错误,即使没有这个问题,你也会陷入无限循环,因为它基本上是 repeat --[[do nothing]] until loopingvar == 100

不过,你可以比这做得更好,通过使用数字 for 循环。除了上述更改,去掉 local loopingvar = 0loopingvar = loopingvar + 1,并将 repeat until loopingvar == 100 替换为 for loopingvar = 0,100 do

2020-05-14 02:43:59