玩家
- 类型:Player
不可创建
无法使用RWObject:New()
创建此对象,也不在编辑器管理列表中显示。
简介
作用
Player对象是当前用户连接的客户端,记录了玩家的一些基本信息。
创建和使用
Player对象只会在玩家进入游戏时由系统自动创建,不能通过编辑器或代码创建。
当有新的玩家连接入游戏时,玩家实体对象会被加入到玩家服务玩家列表
下,在玩家退出游戏时,玩家实体对象会被删除。
玩家可以通过下列方法获取Player对象:
- 利用玩家列表对象的
GetPlayerByUserId(PlayerId)
函数获取指定的Player对象,这个方法只能在服务器脚本中使用。 - 利用玩家列表对象的
GetLocalPlayer()
函数获取当前客户端的player对象,这个方法只能在客户端脚本使用。 - 利用玩家列表对象的
GetAllPlayers()
函数获取当前游戏内所有Player对象,再根据条件筛选出需要的Player对象,这个方法只能在服务器脚本使用。
获取玩家id的方法:
- 利用玩家列表对象的
PlayerAdded
事件,该事件会在玩家进入游戏时获取进入游戏玩家的id。
其他相关
属性
Avatar 玩家角色 RWObject [只读]
玩家角色
StartSpawn 出生点 RWObject
角色绑定的出生点
Team 队伍 RWObject [只读]
玩家所在队伍
NickName 昵称 string [只读]
玩家账号的昵称
Uid 玩家id string [只读]
玩家id
TeamSideColor 队伍颜色 Vector3 [只读]
玩家所在队伍的队伍颜色。
ControlType 操作模式 Enum.HandleMode
第一人称视角摄像机方向与角色面向保持同步,角色移动时不会改变面向;第三人称视角摄像机方向不随角色面向改变,角色移动时会向移动方向转向
继承自RWObject:
Name 名称 string
该对象的自定义名称
ClassName 类型 string
该对象对应的对象类型名称
Parent 父级 RWObject
该对象的父级对象
函数
Jump()
使玩家操作的角色跳跃
ClearAvatarAppearance()
移除玩家操作的角色上所有的角色配件
DistanceFromAvatar(point)
计算点到玩家操作的角色的距离
RemoveAvatar()
删除角色
LeaveTeam()
离开当前队伍
JoinTeam(TeamId)
加入指定的队伍
LoadCharacter(TarObject)
在出生点加载角色,如果没有出生点,则将角色加载至(0,0,0)点;如果正在操作角色,则该函数不会发生作用;如果填写了函数参数,则加载指定的Avatar对象,反之加载玩家初始化下的角色。
GetPlayerEmoji(Key)
根据Key值,获取对应表情
继承自RWObject:
DelAllChild()
删除所有子对象
Available()
检查对象是否可用
Clone(parent)
复制自身,若有参数则以参数为父级
Destroy()
删除自身
GetAncestorByName(Name)
通过对象名字寻找父级对象
GetAncestorByClassName(className)
通过对象类型寻找父级对象
GetChildByName(Name,recursive)
通过对象名字寻找子级对象
GetChildByClassName(className,recursive)
通过对象类型寻找子级对象
GetAllChild()
寻找自身所有子级对象,并作为一个列表返回
GetAllDescendant()
递归寻找自身所有后代,并作为一个列表返回
IsAncestor(TarObj)
判断自身是否为目标对象的祖先
IsDescendant(TarObj)
判断自身是否为目标对象的后代
WaitForChild(childName,timeout)
寻找自身的子对象。如果没有子对象,在没有填写timeout参数时,会暂停进程直到找到子对象;如果填写了timeout参数,会根据参数时间暂停进程,超出参数时间后,进程照常进行
Child(childName)
根据给定的名字寻找自身的子对象
Equals(TarObj)
判断自身是否为目标对象,结果为真返回True,结果为假返回False;注意克隆、新建同类型、同名对象,equal结果均为假
IsClass(className)
判断自身是否为给定的对象类型
事件
ControlTypeChanged(Playerid)
当用户输入类型改变时,触发此事件
AvatarAdded(RWObject)
角色被加载时,触发此事件
AvatarRemoving()
角色被删除时,删除此事件
AddTeamCallBack(TeamId,PlayerId)
玩家加入队伍时,触发该事件
RemoveTeamCallBack(TeamId,PlayerId)
玩家离开队伍时,触发该事件
继承自RWObject:
Destroyed()
删除自身时触发
ChildAdded(childobject)
添加子对象时触发
ChildRemoved(childobject)
移除子对象时触发
DescendantAdded(descendantobject)
添加后代时触发
DescendantRemoved(descendantobject)
移除后代时触发
AncestryChanged(AncestryChanged)
祖先变更时触发