玩家

  • 类型: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)
    祖先变更时触发

文档更新时间: 2020-08-25 10:55   作者:刘征