一个在Roblox上的Lua脚本,可以将模型向上移动?
我有一个名为door的模型 里面有一个命名为Open的BoolValue 我有一个名为Top的模型,其中有所有被命名为Work Mabey Comeon和Proboblynot的门块 我有一个当被触摸时应该使Top向上移动的Block
直接在门内部,我有这个脚本
`` ` door = script.Parent open = door.Open Top = door.Top
opener = 18 speed = 100 steps = speed
startl = Top.CFrame
function MoveDoorToCFrame(cfrm,dr) dr.Work.CFrame = cfrm dr.Mabey.CFrame = dr.Work.CFrame * CFrame.new(0,-7.2,0) dr.Comeon.CFrame = dr.Work.CFrame * CFrame.new(0,10.8,0) dr.Problynot.CFrame = dr.Work.CFrame * CFrame.new(0,10.8,0) end
function Update() 如果速度/步数<0.5,则 calc = 1-math.cos(math.rad((-90/速度)步数2)) 否则, calc = 1+math.sin(math.rad((90/速度)*((速度/2)-步数)2)) 结束 MoveDoorToCFrame(startl * CFrame.new(0,(calc/2)打开器,0),Top) 结束
更新() 而真实存在的话,做 等待() 如果不打开价值和步骤小于速度,则 步骤=步骤+ 1 更新() 否则,如果打开价值并且步骤> 0,则 步骤=步骤-1 更新() 结束 `` `
在应该在触摸时激活的按钮中,我有
`` ` script.Parent.Touched:connect(function() script.Parent.Parent.Open.Value=not script.Parent.Parent.Open.Value end)
script.Parent.Parent.Open.Changed:connect(Update) 更新() `` `
如果你知道如何解决这个问题,那将不胜感激。
你的代码确实需要修修补补。
除非没有其他方法,否则你不应该使用无限循环来让你的代码工作。 相反,你应该基于事件来进行操作。
考虑使用以下代码:
结构:
门[模型]
门脚本[脚本]
按钮[零件]
门开启[BoolValue]
顶部[模型]
可能[零件]
来吧[零件]
不可能[零件]
门脚本:
本地模型=脚本.Parent
本地门=模型.顶部
本地按钮=模型.按钮
本地门开启=模型.门开启
本地偏移=0
本地到达偏移=100
本地方向=1
本地步长=0.1
本地移动=false
函数启动移动()
如果移动则返回
移动=true
当(门开启.Value 且 偏移不等于 到达偏移)或(not 门开启.Value 且 偏移不等于 0)时
当前偏移=偏移
偏移=数学.最大值(0,数学.最小值(到达偏移,偏移 + 步长 * (门开启.Value 且 1 或 -1)))
改变=偏移 - 当前偏移
顶部: TranslateBy(Vector3.new(0,改变,0))
等待()
移动=false
结尾
启动移动()
门开启.Changed:connect(启动移动)
本地抵消=false
按钮.Touched:connect(function()
如果抵消则返回
抵消=true
门开启.Value = not 门开启.Value
等待(4)
抵消=false
结尾)
你可能需要调整速度。
这可能很困难。
除非高层管理人员解决这个问题,否则您可能需要寻找免费的模型。然而,我有一个脚本可以移动模型:
game.Workspace.Model:MoveTo(Vector3.new(0,0,0))
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
这可以用来移动模型,尝试将类似这样的代码添加到你的代码中。它更加动态。
a = Workspace.Model for i=0.1,40 do for i,v in pairs(a:getChildren()) do if v:IsA("Part") then v.CFrame = CFrame.new(v.CFrame + Vector3.new(0,0.1,0)) else print("Not a part") end end end