Lua 子弹不会发射
最近,我一直在演播室里试验Lua的Roblox版本。我试图把一个移动的投射物连接到一个GUI按钮上。代码如下: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
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
,效果会更好吗?