本地脚本 - LocalScript

官方定义

LocalScript 是用于在连接到 迷你世界 Studio 服务器的客户端上运行 Lua 代码的 Lua 源容器。它们用于访问仅限客户端的对象,如玩家的 Camera。对于通过 LocalScript 运行的代码,Players 服务的 LocalPlayer 属性将返回客户端正在运行脚本的玩家。

仅当 Lua 代码是以下某个对象的子类时,LocalScript 才会运行该代码:

localscript_used

  • Player,如 的子项
  • Player 模型
  • Player ,联机情况下只有 LocalPlayer 对应的 Actor 对象的 LocalScript 才会运行,非 LocalPlayerActor 即使有 LocalScript 也不会执行
  • Player
  • Player
  • 服务

自己的理解

当你想对本地(即客户端)对象操作时,通常都会用到 LocalScript.

常用的情况:

1. 改变摄像机的相关属性
2. 获取本地玩家对象: LocalPlayer
3. 获取用户输入
4. 改变 Gui

通常,在 LocalScript 里做出的修改,比如修改某个物体的颜色大小等,只会在该客户端有效,其它玩家看到的该物体还是之前的样子。但是对玩家人物的修改(比如修改玩家的移动速度,弹跳力等)如果想要同步到服务器,则应该放到服务器脚本中,这样所有人都可以看到修改后的效果。

代码示例

1、打印当前照相机的位置
print(game:GetService("WorkSpace").CurrentCamera.Position)
2、改变当前玩家的移动速度
local player = game:GetService("Players").LocalPlayer
local character = player.Character
character.Movespeed = 30
3、获取用户输入,用户按下J键,打印Hello
local contextActionService = game:GetService("ContextActionService")
function PrintHello()
  print("Hello")
end
contextActionService:BindAction("printHello", PrintHello, false, Enum.KeyCode.J
Last Updated: