# UI界面

# AddEntityMarker

客户端

method in mod.client.ui.miniMapBaseScreen.MiniMapBaseScreen

  • 描述

    增加实体位置标记

  • 参数

    参数名
    数据类型
    说明
    entityId str 实体Id
    texturePath str 头顶ICON贴图,如textures/blocks/border
    size tuple(float,float) 贴图大小,默认为(4,4)
    enableRotation bool 是否启用实体朝向,默认为False
    isRevertZRot bool 是否翻转实体Z轴旋转,默认为False
  • 返回值

    数据类型
    说明
    bool 是否增加成功
  • 示例

import mod.client.extraClientApi as clientApi
node = clientApi.CreateUI(modConfig.ModName, modConfig.UIName, {"mini_map_root_path": "/mainPanel"})
node.AddEntityMarker(entityId, "textures/ui/custom_head")

# AddEntityTextMarker

客户端

method in mod.client.ui.miniMapBaseScreen.MiniMapBaseScreen

  • 描述

    在小地图上增加实体文本标记

  • 参数

    参数名
    数据类型
    说明
    entityId str 实体Id
    text str 文本的内容,可以支持样式代码 (opens new window)(§可以设置文字的颜色、格式等,该种用法更加灵活多变)
    scale float 文本缩放倍数,等于文本控件json中的font_scale_factor参数,默认缩放倍数为1.0
  • 返回值

    数据类型
    说明
    bool 是否增加成功
  • 示例

import mod.client.extraClientApi as clientApi
node = clientApi.CreateUI(modConfig.ModName, modConfig.UIName, {"mini_map_root_path": "/mainPanel"})
node.AddEntityTextMarker(entityId, "just test", 1.0)

# AddStaticMarker

客户端

method in mod.client.ui.miniMapBaseScreen.MiniMapBaseScreen

  • 描述

    增加地图上静态位置的标记

  • 参数

    参数名
    数据类型
    说明
    key str 标记Id
    vec2 tuple(float,float) 地图位置二维坐标(x,z)
    texturePath str 贴图路径
    size tuple(float,float) 贴图大小,默认为(4,4)
  • 返回值

    数据类型
    说明
    bool 是否增加成功
  • 备注

    • 如使用该接口请勿将地图缩小倍数设置过大(建议ZoomOut设置后的地图倍数不小于原地图大小的0.5倍),以免造成地图缩小后静态标记位置失效等问题。
  • 示例

import mod.client.extraClientApi as clientApi
node = clientApi.CreateUI(modConfig.ModName, modConfig.UIName, {"mini_map_root_path": "/mainPanel"})
node.AddStaticMarker("this_is_marker_key", (10,2), "textures/blocks/border", (3,3))

# AddStaticTextMarker

客户端

method in mod.client.ui.miniMapBaseScreen.MiniMapBaseScreen

  • 描述

    在小地图上增加静态文本的标记

  • 参数

    参数名
    数据类型
    说明
    key str 标记Id
    vec2 tuple(float,float) 地图位置二维坐标(x,z)
    text str 文本的内容,可以支持样式代码 (opens new window)(§可以设置文字的颜色、格式等,该种用法更加灵活多变)
    scale float 文本缩放倍数,等于文本控件json中的font_scale_factor参数,默认缩放倍数为1.0
  • 返回值

    数据类型
    说明
    bool 是否增加成功
  • 示例

import mod.client.extraClientApi as clientApi
node = clientApi.CreateUI(modConfig.ModName, modConfig.UIName, {"mini_map_root_path": "/mainPanel"})
node.AddStaticTextMarker("this_is_marker_key", (10,2), "just test", 1.0)

# BindVirtualWorldModel

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    绑定虚拟世界中的模型

  • 参数

    参数名
    数据类型
    说明
    bindToObjId int 绑定的模型对象的id
    offset tuple(float,float,float) UI与绑定实体的偏移量
  • 返回值

    数据类型
    说明
    bool 是否修改成功 True:成功 False:失败
  • 备注

    • 绑定的对象销毁时UI不会销毁,而是会隐藏起来,建议复用或者销毁
  • 示例

# 若是被绑定的UI需要创建多份,则需要使用此方式进行创建:
uiNode=clientApi.CreateUI("modNamespace","testUI", {
    "bindEntityId": clientApi.GetLocalPlayerId()
})
virtualWorldComp = clientApi.GetEngineCompFactory().CreateVirtualWorld(clientApi.GetLevelId())
virtualWorldComp.VirtualWorldCreate()
objId = virtualWorldComp.ModelCreateObject("datiangou", "run")
succ = uiNode.BindVirtualWorldModel(objId, (0.0, 0.0, 0.0))

# ChangeBindAutoScale

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    设置已绑定实体的UI是否根据绑定实体与本地玩家间的距离动态缩放,只对已绑定实体的UI界面生效,如何将UI与实体绑定详见CreateUI接口

  • 参数

    参数名
    数据类型
    说明
    autoScale int 1:动态缩放 0:不动态缩放
  • 返回值

    数据类型
    说明
    bool 是否设置成功 True:成功 False:失败
  • 备注

    • 注意: 绑定实体的UI缩放仅作用于根节点(比如"main"节点)下的子节点。

      建议在根节点下挂载一个panel类型的节点,然后将所有需要缩放的UI节点设置为百分比属性并挂载在这个panel节点下。

  • 示例

succ = uiNode.ChangeBindAutoScale(1)

# ChangeBindEntityId

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    修改绑定的实体id,只对已绑定实体的UI界面生效,如何将UI与实体绑定详见CreateUI接口

  • 参数

    参数名
    数据类型
    说明
    entityId str 绑定的实体id
  • 返回值

    数据类型
    说明
    bool 是否修改成功 True:成功 False:失败
  • 示例

succ = uiNode.ChangeBindEntityId(entityId)

# ChangeBindOffset

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    修改与绑定实体之间的偏移量,只对已绑定实体的UI界面生效,如何将UI与实体绑定详见CreateUI接口

  • 参数

    参数名
    数据类型
    说明
    offset tuple(float,float,float) 偏移量
  • 返回值

    数据类型
    说明
    bool 是否修改成功 True:成功 False:失败
  • 备注

    • 不建议在第一人称视角下,将本地玩家绑定UI的偏移量设为(0, 0, 0)
  • 示例

succ = uiNode.ChangeBindOffset((0, 3, 0))

# Clone

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    克隆一个已有的控件,修改它的名称,并将它挂接到指定的父节点上,目前文本、图片、按钮控件的克隆控件表现正常,其他复杂控件的克隆控件可能存在运行问题,建议在json编写的过程中,手动复制一份对应控件使用。

  • 参数

    参数名
    数据类型
    说明
    componentPath str 为从main节点开始的控件路径
    parentPath str 为从main节点开始,父节点的控件路径
    newName str 为克隆成功后创建的新控件名称,新控件的路径为parentPath/newName
    syncRefresh bool 是否需要同步刷新,默认值为True。置True为游戏在同一帧计算该控件的Size等相关数据,置False则在下一帧进行计算。如同一帧有大量clone操作建议置False,操作结束后调用一次UpdateScreen接口刷新界面及相关控件数据
    forceUpdate bool 是否需要强制刷新,默认值为True。置True则按照syncRefresh逻辑进行同一帧或者下一帧刷新,置False则当前帧和下一帧均不刷新,需要手动调用UpdateScreen进行刷新。如有大量Clone操作且非在同一帧执行,建议设置为False,需要更新时再调用UpdateScreen接口刷新界面及相关控件数据
  • 返回值

    数据类型
    说明
    bool 是否克隆成功
  • 示例

# 克隆text2控件,重命名为text3并以panel为父控件
parentPath = "/panel"
text2Path = "/panel/text2"
text3Name = "text3"
uiNode.Clone(text2Path, parentPath, text3Name)
# 以panel为父控件,以text_prefab为模板克隆若干控件
parentPath = "/panel"
textPrefabPath = "/panel/text_prefab"
for i in range(0, 10):
    uiNode.Clone(textPrefabPath, parentPath, "text" + str(i), False)
uiNode.UpdateScreen(True)
# 在非同一帧,以panel为父控件,text_prefab为模板克隆若干控件
parentPath = "/panel"
textPrefabPath = "/panel/text_prefab"
def _tickClone(newName):
    uiNode.Clone(textPrefabPath, parentPath, newName , False, False)
def _tickUpdateScreen():
    uiNode.UpdateScreen(True)
comp = clientApi.GetEngineCompFactory().CreateGame(levelId)
comp.AddTimer(100, _tickClone, "text1")
comp.AddTimer(200, _tickClone, "text2")
comp.AddTimer(300, _tickUpdateScreen)

# Create

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    UI生命周期函数,当UI创建成功时调用。

  • 参数

  • 返回值

# CreateChildControl

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    在当前画布中创建子控件,如果该子控件已经存在则返回已存在的子控件

  • 参数

    参数名
    数据类型
    说明
    defName str UI控件路径,格式为"namespace.controlName"。namespace对应uiJson文件中"namespace"对应的值,UI编辑器生成的uiJson文件该值等于文件名。controlName对应想创建的控件的名称。
    childName str 所创建的子控件的名称
    parentControl BaseUIControl 指定所创建的子节点的父节点,默认值为None,表示直接创建在当前画布根节点下。
    forceUpdate bool 是否需要强制刷新,默认值为True。置True则进行同一帧或者下一帧刷新,置False则当前帧和下一帧均不刷新,需要手动调用UpdateScreen进行刷新。如有大量CreateChildControl操作且在同一帧执行,建议设置为False,需要更新时再调用UpdateScreen接口刷新界面及相关控件数据
  • 返回值

    数据类型
    说明
    BaseUIControl 创建的子控件节点
  • 示例

# 在父控件"/panel"下创建命名空间为"ui0"的自定义控件"myImage",并取名为"myChild"
parentControl = uiNode.GetBaseUIControl("/panel")
if parentControl:
    childNode = uiNode.CreateChildControl("ui0.myImage", "myChild", parentControl, True)
    print childNode

# Destroy

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    UI生命周期函数,当UI销毁时调用。

  • 参数

  • 返回值

# GetAllChildrenPath

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    获取所有子节点的路径list

  • 参数

    参数名
    数据类型
    说明
    parentPath str 为从main节点开始,父节点的控件路径
  • 返回值

    数据类型
    说明
    list(str) 返回父节点下的子节点的路径,会递归返回所有子节点,若节点无子节点,返回空list
  • 示例

# get panel's all children path
node.GetAllChildrenPath("/panel")

# GetBaseUIControl

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    根据路径获取BaseUIControl实例

  • 参数

    参数名
    数据类型
    说明
    path str 当前控件的路径
  • 返回值

    数据类型
    说明
    BaseUIControl 路径对应控件的BaseUIControl实例
  • 示例

# 根据路径获得BaseUIControl实例
text2Path = "/panel/text2"
text2UIControl = uiNode.GetBaseUIControl(text2Path)

# GetBindAutoScale

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    获取该绑定实体的UI是否动态缩放,未绑定的UI将传回默认值1

  • 参数

  • 返回值

    数据类型
    说明
    int 1:动态缩放 0:不动态缩放
  • 示例

autoScale = uiNode.GetBindAutoScale()

# GetBindEntityId

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    获取该UI绑定的实体id,未绑定的UI将传回默认值None

  • 参数

  • 返回值

    数据类型
    说明
    str 绑定的实体id
  • 示例

entityId = uiNode.GetBindEntityId()

# GetBindOffset

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    获取该UI绑定实体的偏移量,未绑定的UI将传回默认值(0, 0, 0)

  • 参数

  • 返回值

    数据类型
    说明
    tuple(float,float,float) 偏移量
  • 示例

offset = uiNode.GetBindOffset()

# GetBindWorldPosition

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    获取该UI绑定的worldPosition,未绑定返回默认值None

  • 参数

  • 返回值

    数据类型
    说明
    tuple(int,tuple(float,float,float)) (维度,(地点)),无设置则为None
  • 示例

position = uiNode.GetBindWorldPosition()

# GetChildrenName

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    获取子节点的名称list

  • 参数

    参数名
    数据类型
    说明
    parentPath str 为从main节点开始,父节点的控件路径
  • 返回值

    数据类型
    说明
    list(str) 返回父节点下的子节点的名称,不会递归返回所有子节点,若节点无子节点,返回空list
  • 示例

# get panel's children name
node.GetChildrenName("/panel")

# GetIsHud

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    获得本界面的输入模式

  • 参数

  • 返回值

    数据类型
    说明
    int 返回1表示该界面不屏蔽游戏操作,返回0则屏蔽。
  • 示例

# 我们需要获得本界面的输入模式
isHud = uiNode.GetIsHud()

# GetRichTextItem

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    返回一个富文本控件实例

  • 参数

    参数名
    数据类型
    说明
    componentPath str 为从main节点开始,继承自rich_text.RichTextPanel控件的路径
  • 返回值

    数据类型
    说明
    object RichTextItem 返回一个富文本控件实例
  • 示例

# we want get a rich-text-item
richTextPath = "/RichTextPanel"
richTextItem = uiNode.GetRichTextItem(richTextPath)

# GetScreenName

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    获得本界面的名称

  • 参数

  • 返回值

    数据类型
    说明
    str 返回本界面的名称。仅当该界面是调用PushScreen方法生成的时候才有返回值,返回值为注册UI时(调用RegisterUI)所使用的参数 uiScreenDef ,否则为 None
  • 示例

# 我们需要获得本界面名称
screenName = uiNode.GetScreenName()

# GetSelf

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    获取零件界面自身

  • 参数

  • 返回值

    数据类型
    说明
    ScreenNode 零件界面自身

# OnActive

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    UI生命周期函数,当UI重新回到栈顶时调用。

  • 参数

  • 返回值

  • 备注

    • 不建议使用在OnDeactive函数中调用SetScreenVisible(False),在OnActive函数中调用SetScreenVisible(True)的方式实现打开新界面时隐藏原界面,新界面关闭时自动显示原界面的功能,由于隐藏接口不会改动UI栈,多Mod容易形成冲突。推荐使用PushScreen,PopScreen接口实现。 调用OpenPauseGui、OpenChatGui、OpenInventoryGui等原生UI函数弹出的UI被关闭时,不会调用此函数。

# OnDeactive

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    UI生命周期函数,当栈顶UI有其他UI入栈时调用。

  • 参数

  • 返回值

  • 备注

    • 不建议使用在OnDeactive函数中调用SetScreenVisible(False),在OnActive函数中调用SetScreenVisible(True)的方式实现打开新界面时隐藏原界面,新界面关闭时自动显示原界面的功能,由于隐藏接口不会改动UI栈,多Mod容易形成冲突。推荐使用PushScreen,PopScreen接口实现。 调用OpenPauseGui、OpenChatGui、OpenInventoryGui等原生UI函数时不会调用此函数。

# RemoveChildControl

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    移除当前画布中的子控件

  • 参数

    参数名
    数据类型
    说明
    childControl BaseUIControl 所要移除的子控件
  • 返回值

    数据类型
    说明
    bool True表示移除成功,False表示移除失败
  • 示例

# 移除"/panel/myChild"控件
childControl = uiNode.GetBaseUIControl("/panel/myChild")
if childControl:
    ret = uiNode.RemoveChildControl(childControl)
    print ret

# RemoveComponent

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    动态删除某一控件

  • 参数

    参数名
    数据类型
    说明
    componentPath str 为从main节点开始,被删除控件路径
    parentPath str 为从main节点开始,父节点的控件路径
  • 返回值

  • 示例

# we want to remove text2
text2Path = "/panel/text2"
parentPath = "/panel"
uiNode.RemoveComponent(text2Path, parentPath)

# RemoveEntityMarker

客户端

method in mod.client.ui.miniMapBaseScreen.MiniMapBaseScreen

  • 描述

    删除实体位置标记

  • 参数

    参数名
    数据类型
    说明
    entityId str 实体Id
  • 返回值

    数据类型
    说明
    bool 是否删除成功
  • 示例

import mod.client.extraClientApi as clientApi
node = clientApi.CreateUI(modConfig.ModName, modConfig.UIName, {"mini_map_root_path": "/mainPanel"})
node.RemoveEntityMarker(entityId)

# RemoveEntityTextMarker

客户端

method in mod.client.ui.miniMapBaseScreen.MiniMapBaseScreen

  • 描述

    在小地图上删除实体文本标记

  • 参数

    参数名
    数据类型
    说明
    entityId str 实体Id
  • 返回值

    数据类型
    说明
    bool 是否删除成功
  • 示例

import mod.client.extraClientApi as clientApi
node = clientApi.CreateUI(modConfig.ModName, modConfig.UIName, {"mini_map_root_path": "/mainPanel"})
node.RemoveEntityTextMarker(entityId)

# RemoveStaticMarker

客户端

method in mod.client.ui.miniMapBaseScreen.MiniMapBaseScreen

  • 描述

    删除静态位置标记

  • 参数

    参数名
    数据类型
    说明
    key str 标记的Id
  • 返回值

    数据类型
    说明
    bool 是否删除成功
  • 示例

import mod.client.extraClientApi as clientApi
node = clientApi.CreateUI(modConfig.ModName, modConfig.UIName, {"mini_map_root_path": "/mainPanel"})
node.RemoveStaticMarker(entityId)

# RemoveStaticTextMarker

客户端

method in mod.client.ui.miniMapBaseScreen.MiniMapBaseScreen

  • 描述

    在小地图上删除静态文本标记

  • 参数

    参数名
    数据类型
    说明
    key str 标记Id
  • 返回值

    数据类型
    说明
    bool 是否删除成功
  • 示例

import mod.client.extraClientApi as clientApi
node = clientApi.CreateUI(modConfig.ModName, modConfig.UIName, {"mini_map_root_path": "/mainPanel"})
node.RemoveStaticTextMarker("this_is_marker_key")

# SetBindWorldPosition

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    设置UI绑定的worldPosition

  • 参数

    参数名
    数据类型
    说明
    dimension int 维度id
    position tuple(float,float,float) 坐标
  • 返回值

    数据类型
    说明
    bool 是否设置成功
  • 示例

uiNode.SetBindWorldPosition(0, (100,60,100))

# SetHighestY

客户端

method in mod.client.ui.miniMapBaseScreen.MiniMapBaseScreen

  • 描述

    设置绘制地图的最大高度

  • 参数

    参数名
    数据类型
    说明
    highestY int 绘制高度值
  • 返回值

    数据类型
    说明
    bool 是否成功
  • 备注

    • 动态调整高度值后,已经绘制过的区块不会刷新为新的高度值,只有没有绘制过的区块会以新的高度值来绘制。
  • 示例

import mod.client.extraClientApi as clientApi
node = clientApi.CreateUI(modConfig.ModName, modConfig.UIName, {"mini_map_root_path": "/mainPanel"})
node.SetHighestY(250)

# SetIsHud

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    设置本界面的输入模式

  • 参数

    参数名
    数据类型
    说明
    isHud int 设置1表示该界面不屏蔽游戏操作,设置0则屏蔽。
  • 返回值

  • 备注

    • CreateUI的isHud参数设置为0或不传时,会在比当前UI的层级大1000的地方生成,生成后再调用SetIsHud接口无法再修改层级!
  • 示例

# 我们需要设置本界面为HUD操作模式
uiNode.SetIsHud(1)

# SetRemove

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    删除本界面节点

  • 参数

  • 返回值

  • 示例

# we want to remove this screen
uiNode.SetRemove()

# SetScreenVisible

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    设置是否显示本界面

  • 参数

    参数名
    数据类型
    说明
    visible bool False为隐藏该界面,True为显示该界面
  • 返回值

  • 示例

# 我们隐藏当前UI的界面
uiNode.SetScreenVisible(False)

# SetSelectControl

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    设置当前焦点所在的控件,当设置控件为文本输入框时会弹出系统小键盘

  • 参数

    参数名
    数据类型
    说明
    componentPath str 为从main节点开始,所要选中控件的路径
    enable bool True为选中componentPath所代表的控件,False为取消选中
  • 返回值

  • 示例

path = "/text_edit_box0"
uiNode.SetSelectControl(path, True)

# SetStackGridCount

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    设置StackGrid控件的大小

  • 参数

    参数名
    数据类型
    说明
    componentPath str 为从main节点开始,Grid控件的路径
    count int 设置StackGrid的内容数量
  • 返回值

  • 示例

# we want change stackgrid count
stackgridPath = "/stack_grid1"
uiNode.SetStackGridCount(stackgridPath, 3)

# SetUiEntity

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    设置PaperDoll控件需要显示的生物模型,PaperDoll控件的配置方式详见控件介绍PaperDoll

  • 参数

    参数名
    数据类型
    说明
    componentPath str 为从main节点开始的控件路径
    entityIdentifier str 生物定义中设定的identifier
  • 返回值

  • 备注

    • 暂不支持的微软原版模型:minecraft:horse(马)、minecraft:donkey(驴)、minecraft:mule(骡子)、minecraft:skeleton_horse(骷髅马)、minecraft:zombie_horse(僵尸马)、minecraft:llama(羊驼)、minecraft:tropicalfish(热带鱼)、minecraft:slime(史莱姆)、minecraft:magma_cube(岩浆怪)、minecraft:ghast(恶魂)、minecraft:shulker(潜影贝)、minecraft:ender_dragon(末影龙)、minecraft:thrown_trident(三叉戟)、minecraft:ender_crystal(末影水晶)、minecraft:boat(船)、minecraft:tnt(TNT)
  • 示例

# we want to show an entity model
imagePath = "/paper_doll0"
uiNode.SetUiEntity(imagePath, 'minecraft:cat')

# SetUiModel

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    设置PaperDoll控件需要显示的模型,PaperDoll控件的配置方式详见控件介绍PaperDoll

  • 参数

    参数名
    数据类型
    说明
    componentPath str 为从main节点开始的控件路径
    modelName str 骨骼模型的名称
    animateName str 动画名称,默认为'idle'
    looped bool 是否循环播放动画,默认为True
  • 返回值

    数据类型
    说明
    bool 是否设置成功
  • 示例

# we want to change model
imagePath = "/paper_doll0"
uiNode.SetUiModel(imagePath, 'saber', 'idle', True)

# SetUiModelScale

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    设置PaperDoll控件模型的缩放比例

  • 参数

    参数名
    数据类型
    说明
    componentPath str 为从main节点开始,PaperDoll控件路径
    scale float PaperDoll的缩放比例,默认为1.0
  • 返回值

  • 备注

    • 当设置为原版生物模型时会导致偏移,建议开发者自行调整位置
  • 示例

imagePath = "/paper_doll0"
uiNode.SetUiModelScale(imagePath, 1.2)

# Update

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    客户端每帧调用,1秒有30帧

  • 参数

  • 返回值

# UpdateScreen

客户端

method in mod.client.ui.screenNode.ScreenNode

  • 描述

    刷新界面,重新计算各个控件的相关数据

  • 参数

    参数名
    数据类型
    说明
    syncRefresh bool 是否需要同步刷新,默认值为True。置True为游戏在同一帧计算各个控件的相关数据,置False则在下一帧进行计算。若置True不建议在同一帧调用多次
  • 返回值

  • 示例

# 当前帧刷新界面
uiNode.UpdateScreen(True)
# 下一帧刷新界面
uiNode.UpdateScreen(False)

# ZoomIn

客户端

method in mod.client.ui.miniMapBaseScreen.MiniMapBaseScreen

  • 描述

    放大地图

  • 参数

    参数名
    数据类型
    说明
    value float 在原有基础上的增量值,可以控制放大速度,默认为0.05
  • 返回值

    数据类型
    说明
    bool 是否成功
  • 示例

import mod.client.extraClientApi as clientApi
node = clientApi.CreateUI(modConfig.ModName, modConfig.UIName, {"mini_map_root_path": "/mainPanel"})
node.ZoomIn(0.2)

# ZoomOut

客户端

method in mod.client.ui.miniMapBaseScreen.MiniMapBaseScreen

  • 描述

    缩小地图

  • 参数

    参数名
    数据类型
    说明
    value float 在原有基础上的减少值,可以控制缩小速度,默认为0.05
  • 返回值

    数据类型
    说明
    bool 是否成功
  • 备注

    • 客户端地图区块加载有限,如果地图UI界面太大或者缩小地图倍数太大,会导致小地图无法显示未加载的区块。
  • 示例

import mod.client.extraClientApi as clientApi
node = clientApi.CreateUI(modConfig.ModName, modConfig.UIName, {"mini_map_root_path": "/mainPanel"})
node.ZoomOut(0.2)

# ZoomReset

客户端

method in mod.client.ui.miniMapBaseScreen.MiniMapBaseScreen

  • 描述

    恢复地图放缩大小为默认值

  • 参数

  • 返回值

    数据类型
    说明
    bool 是否成功
  • 示例

import mod.client.extraClientApi as clientApi
node = clientApi.CreateUI(modConfig.ModName, modConfig.UIName, {"mini_map_root_path": "/mainPanel"})
node.ZoomReset()