网易我的世界论坛
标题:
萌新求助[UI制作]
[打印本页]
作者:
虚羽爱mc
时间:
2021-1-13 21:42
标题:
萌新求助[UI制作]
经过我一段时间的奋斗,终于把UI显示出来惹!但是,如何在玩家手持指定物品时再调用UI啊,就像技能似的
大佬们教教我,方便的话发个demo就最好惹
作者:
神捕晖
时间:
2021-1-14 10:06
可以参考官方的射击玩法mod(AwesomeMod),点击瞄准按钮时,显示瞄准的UI,应该和你这个类似~
第二个包时官方的UImod,里面有各种UI的示例用法
作者:
神捕晖
时间:
2021-1-14 10:07
这是官方文档链接:http://mc.163.com/mcstudio/mc-dev/MCDocs/4-DEMO%E7%A4%BA%E4%BE%8B/%E7%A4%BA%E4%BE%8B%E7%AE%80%E4%BB%8B.html
作者:
Ran_n
时间:
2021-1-14 17:15
本帖最后由 Ran_n 于 2021-1-14 17:39 编辑
监听这两个事件
OnCarriedNewItemChangedServerEvent
触发时机:玩家切换主手物品时触发该事件
=======
OnOffhandItemChangedServerEvent
触发时机:玩家切换副手物品时触发该事件
class UIDemoServerSystem(ServerSystem):
def __init__(self, namespace, systemName):
ServerSystem.__init__(self, namespace, systemName)
self.DefineEvent('CarriedAimItemEvent')
self.ListenForEvent(serverApi.GetEngineNamespace(), serverApi.GetEngineSystemName(),
ServerEvent.OnCarriedNewItemChangedServerEvent, self, self.OnCarriedNewItemChangedServer)
pass
def OnCarriedNewItemChangedServer(self, args):
self.NotifyToClient(args['playerId'], 'CarriedAimItemEvent', args)
pass
#########
class UIDemoClientSystem(ClientSystem):
def __init__(self, namespace, systemName):
ClientSystem.__init__(self, namespace, systemName)
self.ListenForEvent(modConfig.ModName, modConfig.ServerSystemName,
'CarriedAimItemEvent', self, self.OnCarriedAimItem)
pass
def OnCarriedAimItem(self, args):
if args['newItemName'] != 'minecraft:stick':
print '显示UI'
else:
print '关闭UI'
pass
复制代码
作者:
虚羽爱mc
时间:
2021-1-14 20:06
Ran_n 发表于 2021-1-14 17:15
监听这两个事件
OnCarriedNewItemChangedServerEvent
触发时机:玩家切换主手物品时触发该事件
蟹蟹大佬
欢迎光临 网易我的世界论坛 (http://mc.netease.com/)
Powered by Discuz! X3.3