找回密码
 点一下
查看: 4879|回复: 12

SOA(SpearofAdun)亚顿之矛UI战役接口函数演示

[复制链接]
发表于 2016-12-2 23:51:29 | 显示全部楼层 |阅读模式
本帖最后由 dqndqn1 于 2016-12-3 00:27 编辑

许多新人都在发帖求助亚顿之矛怎么做的,(其实我当初想自己做来着,不过想想,官方都写好了,我为啥费劲搞他……),其实这个东西主要是在UI编辑器里制作的,触发器接口只是用来调用他,但是官方把触发器和函数隐藏了,GUI看不见,所以产生了障碍。我把基本要用到的接口函数找出来了,做了个演示,大家可以参考参考。直接用官方的接口呢,还是完全自己做一套呢,这个根据实际情况自行判断吧……-------------------------------------------------------------------------------------------------------------------------------------------------
接口函数:

libVCUI_gf_ShowSpearofAdunUI (bool lp_showHide, fixed lp_duration);                           //显示顶部主UI。参数:(true:显示/false:隐藏,    0:立即显示/1:过渡显示)
libVCUI_gf_PU_GPSetUnit (unit lp_casterUnit);                                                              //设置UI使用的单位。参数:(任意单位)PS:这个单位的能量值变动会触发能量槽自动更新。
libVCUI_gf_PU_TargetingCancel (trigger t);                                                                  //瞄准模式取消按钮的点击事件注册。参数:(任意触发器)PS:这个事件会在点击取消按钮时触发参数中的触发器。

libVCUI_gf_PU_GPEnergyHighlight (bool lp_enable);                                                     //显示能量满格时的发光特效。参数:(true:开启/false:关闭)
libVCUI_gf_TurnSpearofAdunSlotHighlightOnOff (int lp_slot, bool lp_onOff);                   //显示顶部技能按钮下方的升级特效。参数:(1~4:对应按钮,    true:显示/false:隐藏)

libVCUI_gf_PU_TargetingSetCharges (int lp_current, int lp_max);                                  //设置瞄准模式上方的充能数。参数:(1~5:当前充能,    1~5:最大充能)
libVCUI_gf_PU_TargetingUI_EnterTargetingMode (bool lp_showHide, bool lp_instant);    //进入瞄准模式。参数:(true:显示/false:隐藏,    false)PS:会自动隐藏顶部主UI。

bool libVCUI_gf_TargetingUIisActive (void);                                                                //判断是否处于瞄准模式。返回:(true:激活/false:未激活)
变量:
libVCUI_gv_pU_GPEnergyLabel                                               //能量槽中间文字对话框项。PS:会因为自动更新刷新。
libVCUI_gv_pU_GPEnergyBarScene                                         //能量槽对话框项。PS:设置动画进度再配合其他算法可以做出不同于默认能量值的算法。
-------------------------------------------------------------------------------------------------------------------------------------------------
如果想用其他指挥官的UI请参考官方AlliedCommanders(Mod),并使用此依赖项。阅读他的接口函数,如法炮制即可。
UISetTargetingOrder()这个函数需要使用一个单位组全局变量,一旦单位组注销,动作将失效。
官方的能量满高亮动画有些许bug,会在循环的开头出现闪烁。我重制了一个过场动画,路径跟原动画相同,覆盖掉原来的。(其实只是把原来循环的书签提前了)
未标题-1.jpg
-------------------------------------------------------------------------------------------------------------------------------------------------
Screenshot2016-12-02 22_43_12.jpg Screenshot2016-12-02 22_43_ddd.jpg
地图: 亚顿之矛演示.SC2Map (92.15 KB, 下载次数: 163)





发表于 2016-12-3 21:01:01 | 显示全部楼层
神贴!!!顶你了 大神  顺便问下怎么做自定义UI 我是说外部导入的那种素材  用3DMAX吗?

点评

简单点的用ps画画就行了,然后在UI编辑器里用简单的动画(移动,旋转,缩放)做出复杂的效果,如果要更复杂的动画,图片不能完成的,就必须用建模软件(为了输出m3格式,一般用3dmax)制作相应的模型了,其实官方的  详情 回复 发表于 2016-12-4 00:30
回复

使用道具 举报

 楼主| 发表于 2016-12-4 00:30:50 | 显示全部楼层
wyg5105478 发表于 2016-12-3 21:01
神贴!!!顶你了 大神  顺便问下怎么做自定义UI 我是说外部导入的那种素材  用3DMAX吗?

简单点的用ps画画就行了,然后在UI编辑器里用简单的动画(移动,旋转,缩放)做出复杂的效果,如果要更复杂的动画,图片不能完成的,就必须用建模软件(为了输出m3格式,一般用3dmax)制作相应的模型了,其实官方的好多UI都是模型做的,然后封装成过场动画,再放到UI编辑器里使用。

点评

比如你发的这个亚顿之矛就看得出来是M3搞的动画额 大神啊 我其实是想弄个血条啊头像框啊 什么的 不需要像亚顿之矛那么复杂这用PS应该能解决吧?就是DDS那种UI  详情 回复 发表于 2016-12-4 20:21
回复

使用道具 举报

发表于 2016-12-4 11:44:28 | 显示全部楼层
这个很棒啊,好多人都想要呢。
回复

使用道具 举报

发表于 2016-12-4 20:21:23 | 显示全部楼层
dqndqn1 发表于 2016-12-4 00:30
简单点的用ps画画就行了,然后在UI编辑器里用简单的动画(移动,旋转,缩放)做出复杂的效果,如果要更复 ...

比如你发的这个亚顿之矛就看得出来是M3搞的动画额 大神啊 我其实是想弄个血条啊头像框啊 什么的 不需要像亚顿之矛那么复杂这用PS应该能解决吧?就是DDS那种UI

点评

如果不需要动画效果,或者只需要粗糙的动画效果。那么使用图片就可以啦。前提是你PS水平得足够,或者有现成的图片可用。  详情 回复 发表于 2016-12-5 17:51
是的,绘制完再在ui编辑器里添加动画即可。  详情 回复 发表于 2016-12-5 09:54
回复

使用道具 举报

 楼主| 发表于 2016-12-5 09:54:37 | 显示全部楼层
wyg5105478 发表于 2016-12-4 20:21
比如你发的这个亚顿之矛就看得出来是M3搞的动画额 大神啊 我其实是想弄个血条啊头像框啊 什么的 不需要像 ...

是的,绘制完再在ui编辑器里添加动画即可。
回复

使用道具 举报

发表于 2016-12-5 17:51:03 | 显示全部楼层
wyg5105478 发表于 2016-12-4 20:21
比如你发的这个亚顿之矛就看得出来是M3搞的动画额 大神啊 我其实是想弄个血条啊头像框啊 什么的 不需要像 ...

如果不需要动画效果,或者只需要粗糙的动画效果。那么使用图片就可以啦。前提是你PS水平得足够,或者有现成的图片可用。
回复

使用道具 举报

发表于 2016-12-8 21:30:37 | 显示全部楼层
楼主所说的接口函数能否完整的提供一下,就是说提取一下把库导出来

点评

Alt+`,调出控制台,然后输入browse回车,在新打开的窗口搜.galaxy,就能找到你想要的  详情 回复 发表于 2016-12-9 12:46
回复

使用道具 举报

 楼主| 发表于 2016-12-9 12:46:26 | 显示全部楼层
mic 发表于 2016-12-8 21:30
楼主所说的接口函数能否完整的提供一下,就是说提取一下把库导出来

Alt+`,调出控制台,然后输入browse回车,在新打开的窗口搜.galaxy,就能找到你想要的
回复

使用道具 举报

发表于 2016-12-9 13:28:32 | 显示全部楼层
本帖最后由 mic 于 2016-12-9 13:34 编辑

libVCUI对应的是哪个galaxy文件
回复

使用道具 举报

发表于 2016-12-23 10:53:54 | 显示全部楼层
学习了
回复

使用道具 举报

发表于 2016-12-31 00:31:34 | 显示全部楼层
这应该类似还能调取出合作模式各种顶部面板?
原来竟然又是一个“没翻译的函数”……
回复

使用道具 举报

发表于 2017-5-14 16:34:49 | 显示全部楼层
我想请问一下,你这个设置亚顿之矛施法者的UnitFromId(589772158),你是怎么得知这个坦克的ID是589772158的?通常单位ID不都是英文吗?这个数字是怎么找到的

点评

单位的ID和单位类型的ID不是一个东西。在预置单位时,会自动给该单位指定一个ID,并记录在Objects文件中。你可以访问Objects文件,查看预置单位的ID分别是多少。  详情 回复 发表于 2020-1-18 14:12
回复

使用道具 举报

发表于 2020-1-18 14:12:03 | 显示全部楼层
2104075556 发表于 2017-5-14 16:34
我想请问一下,你这个设置亚顿之矛施法者的UnitFromId(589772158),你是怎么得知这个坦克的ID是589772158 ...

单位的ID和单位类型的ID不是一个东西。在预置单位时,会自动给该单位指定一个ID,并记录在Objects文件中。你可以访问Objects文件,查看预置单位的ID分别是多少。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-23 17:32 , Processed in 0.498302 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表