You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

鼠标点击时门模型无法旋转:Roblox Lua脚本语法错误排查求助

修复Roblox Lua门旋转脚本的语法与逻辑问题

首先看你遇到的语法错误,其实是括号不匹配导致的解析失败:

  • 第5行中CFrame.fromEulerAngles(0,math.rad(90), 0)后面缺少了一个闭合的),导致handle:SetPrimaryPartCFrame()这个函数调用没有正确结束,解析器读到end时就会报错。
  • 因为第一个括号没闭合,整个MouseClick:Connect()的回调函数也没法正确闭合,所以会提示找不到对应的end

另外还有个逻辑问题:你现在修改的是门把手(handle)的CFrame,但实际要旋转的是门模型(door),这会导致即使语法正确,门也不会动。

修正后的完整代码

local handle = script.Parent.Door.Handle
local door = script.Parent.Door.Model

handle.ClickDetector.MouseClick:Connect(function()
    -- 修改门模型的CFrame,而不是门把手
    door:SetPrimaryPartCFrame(door:GetPrimaryPartCFrame() * CFrame.fromEulerAngles(0, math.rad(90), 0))
end)

关键修正点说明

  1. 补全缺失的括号:在CFrame.fromEulerAngles(0, math.rad(90), 0)后面添加了),让SetPrimaryPartCFrame的调用语句完整闭合。
  2. 修正操作对象:把handle替换为door,确保我们旋转的是门模型本身,而不是仅仅转动门把手。
  3. 格式优化:添加了适当的空格和换行,让代码可读性更强,也更容易避免类似的语法疏漏。

现在你可以把这段代码替换原来的脚本,点击门把手后门模型应该就能正常旋转90度了。

内容的提问来源于stack exchange,提问作者Flywheel

火山引擎 最新活动