lua - 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 中不起作用。我已经检查了所有可能的网站,但无济于事。任何建议都会很棒。
解决方案
你没有repeat until
正确使用。第一行应该是repeat
,最后一行应该是until loopingvar == 100
。根本不应该有end
。目前,由于 extra end
,您的代码中存在语法错误,即使没有,您也会有一个无限循环,因为它基本上是repeat --[[do nothing]] until loopingvar == 100
.
for
但是,通过使用数字循环,您甚至可以做得比这更好。代替上述更改,去掉local loopingvar = 0
and loopingvar = loopingvar + 1
,并替换repeat until loopingvar == 100
为for loopingvar = 0,100 do
。
推荐阅读
- php - CodeIgniter e Oracle - 表名中的双引号 - ActiveRecords
- ios - 如何在一系列问题中后退或前进?
- python - python : Pandas - 将缺失的日期添加到数据框中
- c++ - switch case中的默认值可以返回cin吗?
- swift - 以编程方式 Init 与 dequeueForReusableIdentifier 用于表视图单元格
- angular - highcharts x轴不规则日期间隔问题
- vb.net - BC30456 Visual Basic
- http - 可能的竞争条件 使用 http2 实现
- r - R:风数据的 gDistance 转换函数
- python - 从 dict 更新 pandas df