|
kgPanels也就是我们简称的KGP,eePanels的升级版,是一个基于ACE3平台下的界面美化插件 具体用途是在wow创建和编辑自定义面板来美化和补充整合界面的布局构成。
wowinterface发布地址:
是一个基于ACE3平台下的界面美化插件 具体用途是在wow创建和编辑自定义面板来美化和补充整合界面的布局构成
尽管目前国外LitePanels是以后的主流趋势 但是对于CWOW这个UI氛围来说 KGP因为具备图形设置界面 而不需要进行lua语言的编写 显得更友好 并且也更简易上手
下文中我会以及其缓慢的速度来为一些希望自己制作整合界面的玩家朋友介绍这款插件的具体使用方法
如果可能的话 我也希望这个帖子能成为一个中文版的kgpanels的WIKI
View of kgPanels
当我们把这个插件带进了我们可爱的WOW的时候 你需要熟悉的第一条命令是
/kgpanels config
这条命令就是进入kgp的主设置界面的命令 在往后很多的时候你可能都需要用到这条命令 无论是创建布局或者是修改布局
Tips: 接下来的部分全是由图形设置界面完成的 所以请各位不用担心使用上会有什么困难 并且 目前来说 kgpanels有着非常优秀的汉化版本 你可以通过图形设置界面的文字提示来理解某一项功能的具体用途.
[ ]
如同我们所看到的 这张图就是KGP的主设置界面的局部(选这张图是为了让大家更熟悉KGP的树状结构菜单)
基础选项
这个部分仅仅包含了一个布局的子菜单 布局 顾名思义 就是布局的意思(被拖走....)
你可以在布局的子菜单里实现 创建一个新的布局 选择一个已有的布局 删除一个已有的布局 利用字符串代码导入布局和将布局导出成字符串代码 这些功能
图片库
图片库是为了加载自己制作/别人制作的材质而诞生的 这点会在后面的Texture部分详细的介绍到
你可以在图片库的子菜单中实现 新建一个背景材质 删除一个背景材质 新建一个边框材质 删除一个边框材质 这些功能
默认面板选项
当你创建面板的时候 会提示你是按自定义的形式创建或者以默认的选项创建 两种形式
如果你选择默认选项创建的话 你新建的面板就以这个默认面板选项中的设置来显示 你可以把这个理解为一个模板
PS 默认面板选项是可以修改的 你觉得怎么样方便就怎么样改
Tips: 在我所有的作品中 我都是以默认选项创建后自行修改的. 可以省下很多其他繁琐的设置步骤
正在使用的面板
一个代表着你现有面板的子菜单 如果你没有创建任何面板的话 这个部分是空的
你需要创建起码一块面板来开启这个菜单
至于编辑面板之类的 我会在后面的Create a frame&edit部分具体解释
总而言之 你的整合界面的大部分工作 都将会是在这个部分中进行
常见问题
很贴心的是 kgpanels还为大家提供了这样一个可以算详细 也可以算不详细的帮助文档(尽管我认为他并没有在这里面说到些什么..)
这个文档同时也提供了kgpanels在wowace上的发布地址 以及wowace上的英文WIKI的link
配置文件
我想这个部分不用解释大家也应该知道是干什么的. 配置文件提供了保存当前角色设置以及调用其他设置或者复制/删除某个配置文件的功能
Create a frame&edit it
emmmm..看了前面的介绍 你是不是已经蠢蠢欲动了? 是不是已经为制作自己的界面而开始做准备了呢?我会在接下来的部分中以图片和实例的方式来告诉你 如何使用KGP来创建出你想要的面板布局 或者修改它.
首先你需要创建一个你自己的布局 布局的名字可以是任意的中文 英文字母 数字 以及部分特殊符号 包括他们的组合
Tips: 为了保证管理的方便 我并不建议你使用过长的名字来命名布局 并且 请养成使用简短的含义为命名的名称来命名你的布局(像我这样的日期党的习惯其实并不好 请大家不要效仿)
当你建立完某一个布局之后 KGP会自动激活这个布局 直到你手动切换到另一个布局并激活它为止
我们这里用hello wow来做范例
[ ]
接下来我们来试试 在WOW中创建一个200*200像素的矩形纯黑色面板
选到正在使用的面板 并且给这个你想要创建的面板命名 名字可以是任意的中文 英文字母 数字 以及部分特殊符号 包括他们的组合
Tips: 请保持良好的习惯 尽量以简短的含义来命名你的面板 比如说你想为你的Recount做一个背景 你可以把这个面板命名为"Recount" 这样在你以后需要修改这个面板的时候就可以很快在一大堆面板中找到它 ;同时 为了方便以后在脚本中的事件代码编写 尽量使用英文字母和数字的组合来命名你的面板
这里我们就做一个名字为"center"的面板 在面板名称那里输入center 并且以默认选项创建
这样 一个以默认选项为设置的"center"就出现了 接下来我们来做一点小小的修改 来达到我们的要求
选中center 我们就可以看到一个面板的设置界面 花一点小小的篇幅来介绍一下各个设置项所代表的功能
[ ]
拦截鼠标点击
可以选 也可以不选 推荐是选上 当你需要实现脚本中的OnClick,OnEnter,OnLeave事件的时候 这个设置项才会有起作用 如果你仅仅是单纯的要做修饰的布局的话 这个功能可以不开启
锁定面板
当你完成了对一块面板的设置之后 你可以通过勾选这个设置项来锁定你的这块面板 反之 如果你不选的话 你就可以直接用鼠标拖拽你在屏幕上选定的面板
删除面板
顾名思义 就是如果你不想要这块面板了 那就让它消失吧 选定一块你不想要的面板 点击删除面板并且确认来实现删除选定面板的目的 注意 删除面板是一个不可逆操作的操作 在你删除某一块面板之前请考虑周全
复制,来自,粘贴
这三个设置项是一个联合体 提供了一个可以让当前选择的面板复制另一个面板的"所有,锚点,颜色,位置,脚本,文字,材质"中的任意一项的功能 选定一块面板 复制"你想复制的东西" 来自"你想复制的另一块面板" 并且粘贴
重命名
修改当前选定的面板的名字 改完之后记得按重命名面板的选项来保存你的这次修改
颜色和透明度设置
整块面板的透明度设置 0%为最透明 100%为不透明
背景颜色样式
提供了纯色,渐变,无 三个选项 纯色就是以指定的背景颜色来作为选定的面板的染色 渐变就是以指定的背景颜色和背景的渐变颜色来作为选定面板的渐变染色
背景渐变样式
只有当你选择渐变样式时才起效 可以设置为水平渐变或者垂直渐变
背景颜色,背景渐变颜色
背景颜色提供了一个可以设置R.G.B颜色以及Alpha值的色谱设置菜单 你可以通过滑动块来设置并预览你将要改变的面板染色 背景渐变颜色同背景颜色 只有在选择渐变样式时才起效
背景颜色混合
你所指定的背景颜色与当前面板选定的"有色材质"的混合模式 提供了 "Add,AlphaKey,Blend,Mod,禁用"这几个混合模式的选项(此词条希望有人可以添加正确的描述)
边框颜色
只有当你选择了"材质选项"中的边框素材之后才起效 提供了一个可以设置R.G.B颜色以及Alpha值的色谱设置菜单 可以指定选定面板的边框材质的颜色
面板高度,面板高度
指定你创建的面板的高度与宽度 数值为非负数 数值单位为像素
水平偏移,垂直偏移
指定你创建的面板以锚点框体(默认为UIParent,通俗点理解就是你的WOW窗口)的偏移位置 数值可以为正数,负数及零 数值单位为像素 水平偏移可以指定面板的水平偏移数值 垂直偏移可以指定面板的垂直偏移数值
Nudge
一个对偏移位置微调的设置项(我个人认为是为不带数字小键盘的计算机用户设计的..) 上 下 左 右 4个按钮 每点击一下为偏移1个像素
层级,框架层
你的面板对于框架层的Z轴的顺序(这个部分 熟悉Autocad和其他3D建模软件的朋友应该非常的容易理解 X Y Z 3个轴的概念)0为Z轴的最底层 20为Z轴的最高层 框架层部分提供了BLZ自带的几个层级的选择 包括了"背景(UIParent),对话框(ChatFrame),高(High),中(Medium),低(Low),提示信息(Tooltip)"这几个选项
父级框体
指定你选定的面板以哪个框体为依附框体 并且随这个框体的显示/隐藏而显示或者隐藏(可以以任何你所用到的插件为依附框体 也可以使用你创建的kgp面板为依附框体)
锚点框体
指定你选定的面板以哪个框体为位移目标锚点 并且可以通过设置水平偏移和垂直偏移数值来指定面板的位置(可以以任何你所用到的插件为锚点框体 也可以使用你创建的kgp面板为锚点框体) 你的面板仅仅只跟随你指定的锚点框体的位移而位移 但是不随锚点框体的显示/隐藏而显示或者隐藏
自己的锚点,目标的锚点
指定你选定的面板以锚点框体为目标锚点的位移起始位置 以时钟位置来定义 一般选择正中即可
如你所见 如果想要做出一块200*200的黑色面板 你需要改动的部分是 面板高度和宽度 将他们都设置成200 背景颜色开为纯黑 然后 锁定面板即可
[ ]
怎么样 很简单吧 这样我们就做好了我们的第一块面板嗯
然后我们来说说如何用KGP制作出一根线条
实际上 要实现视觉上的线条面板 你只需要调整这个面板的高度或者宽度即可 这个高度和宽度视你的布局风格而定 来决定这根线条是粗线条还是细线条 我个人的推荐是 如果是纯色形式的面板 高度或者宽度开成11像素(这个数值下的面板呈现出的线条会非常的饱满和大气) 渐变色形式的面板 设置为12或者13像素
我们创建一个名字为"1"的面板 并且设置它的高度设为10 宽度设为210 背景颜色开为黑色 模式选择纯色 锁定面板
[ ]
嗯嗯 很成功呢 我们的第二个面板这样也完成了~
你要知道 一个布局不仅仅是单纯的一块或者两块面板就可以完成的 我们需要的是用KGP面板来拼凑出的一个你自己构思的造型
我们接下来要给"center"这个面板做出一个包围他的边框
创建 2 3 4 这三块面板
修改面板"1" 锚点框体为center 垂直偏移100
面板"2"复制"所有"来自"1" 垂直偏移改为-100
面板"3"高度设为210 宽度设置为10 锚点框体为center 水平偏移100
面板"4"复制"所有"来自"3" 水平偏移改为-100
锁定所有的面板
[ ]
成型了 很有成就感吧 HOHO
嗯 接下来以一个实例来说说怎么实现类似VoDS中的渐变效果
这个面板造型实际上是两组水平镜像的渐变面板拼接起来的
分别创建A1 A2 A3 A4 A5和B1 B2 B3 B4 B5两组一共10块面板 A负责左边的渐变效果 B负责右边的渐变效果
[ ] A1 背景样式选为渐变
[ ] 背景色开为纯黑 alpha开成0%
[ ] 渐变背景色开为纯黑 alpha开为100%
[ ] 面板高度120 面板宽度400
[ ] 水平偏移-195 垂直偏移-350
A2 复制A1的所有设置 高度35 宽度400 锚点框体设为A1 水平偏移不变 垂直偏移80
A3 复制A1的所有设置 高度10 宽度400 锚点框体设为A1 水平偏移不变 垂直偏移62
A4 复制A3的所有设置 高度10 宽度400 锚点框体设为A1 水平偏移不变 垂直偏移97
A5 复制A4的所有设置 高度10 宽度400 锚点框体设为A1 水平偏移不变 垂直偏移-60
锁定上面的所有面板 你们看到了什么?
[ ]
另外半边知道该怎么做了吧 只需要修改一下背景颜色和渐变颜色的alpha值 并且修改一下偏移数值和锚点框体即可
渐变面板是KGP中很常见的应用 在适当的位置加入渐变处理可以起到对布局画龙点睛的作用
Tips:在创建一个KGP的布局之前 最好是先在一张纸上大致上的画一下你想要一个什么样子的布局构思(有CAD的朋友可以尝试一下用CAD画 更方便) 然后在游戏中可以节约很多的时间来创建拼凑出你想要的造型;由于WOW的风景缘故 KGP的面板颜色请尽量避免过于鲜艳的颜色(这个取决于你的界面的整体风格的协调性); 使用渐变样式的请注意背景色和渐变色之间的色差 把握好一个合理的平衡度和临界点.
普通的面板创建基本上就是如此 颜色 位置 样式 和依附框体及锚点框体 和面板层级的设置 如果你想尽快的熟练上手 可以尝试先照着其他人的作品的样式去做一下 不能完全模拟也没什么关系 只要能做到大致上神似 这一步你基本上就算通过了
About textures
KGP除了能提供自行创建矩形面板的功能之外 还提供了一项非常具备可塑性的功能 它能将你制作的素材依附到一个面板上去 从而实现你的整合界面非矩形造型的布局
制作素材的问题我这里不另外赘述 可以被KGP识别并应用的素材为32位的TGA格式文件 长度和宽度都必须是2的N次方 并且具备alpha通道 我这里提供一个制作素材的传送门 [ ]
你所制作的素材需要放置在你的魔兽世界安装盘下和Addones同级的文件夹中 比如说你的素材文件夹名字为tex 你的素材位置就应该是X:\Program Files\World of Warcraft\Interface\tex\xxx.tga(xxx为素材名字)
直接放在tex文件夹中的素材并不会直接被kgp识别 你需要把它们添加到kgp的图片库中去并且让它们被kgp识别
点开kgp中的"图片库"菜单
为你要添加的素材写一个名字 名字可以是中文 英文字母 数字 特殊符号以及这些的任意组合 比如说你这个素材是准备用来美化动作条的 可以叫它bar 类型选择Background 然后确定
Tips:类型中有Backgroud和Board之分 一般我们要添加一个素材的话用的基本上都是Backgroud(背景) 如果是要添加自定义的边框材质的话 请在类型中选择Board
接下来指定这个素材的路径 路径只需要填interface\tex\xxx 然后按Add添加
[ ]
嗯 接下来我们就可以在"背景"中找到我们刚才添加的素材了
图片库中的素材需要你自己创建一个面板来表现它
创建出一个面板 然后点开材质选项
名称中选中你刚才添加的素材
[ ]
接下来就是调整面板的大小 颜色 以及透明度来修改你的素材的表现形式.
PS:如果你需要修改一下你素材的角度的话 可以直接在材质选项中修改旋转角度 或者 垂直翻转和水平翻转它 至于平铺材质 请想象一下在Windows中平铺壁纸的样式 很好理解
至于文本选项 是一个提供用文本文字来对面板素材的表现的功能设定 你可以在文本选项中为你的面板添加自定义文字 并且文字的位置和颜色都是可以任意调整的.
Tips: 这个部分我介绍的篇幅尽管比较小 但是 有可能在你制作你的整个界面布局中 制作和收集素材的工序 却是会花费掉你最多时间的步骤 选择/制作一个最能表现你的界面整体风格的素材 是一个优秀的界面必不可少的部分
Simple scripts
kgp中还提供了脚本编写功能 用来实现对面板的各类事件的处理功能 下面仅仅是我目前使用到的部分 如果有朋友愿意帮忙添加的话 请在整个帖子中跟帖 我会把你添加的内容编辑到主楼中 让更多的人看到
控制某一面板战斗状态隐藏 非战斗状态显示
<OnLoad>
Code:
self:RegisterEvent("PLAYER_REGEN_DISABLED")
self:RegisterEvent("PLAYER_REGEN_ENABLED")
<OnEvent>
Code:
if event == "PLAYER_REGEN_ENABLED" then
self:Show()
elseif event == "PLAYER_REGEN_DISABLED" then
self:Hide()
end
如果需要战斗中显示 非战斗隐藏的话 只要修改OnEvent中的 Show以及Hide的代码即可;
鼠标点击控制某块面板或者某个插件的显示和隐藏(类似开关的功能)
<OnClick>
Code:
if pressed then
if kgPanels:FetchFrame("XXX"):IsVisible () then
kgPanels:FetchFrame("XXX"):Hide()
else
kgPanels:FetchFrame("XXX"):Show()
end
elseif released then
end
这个实例中XXX代表了你定义的KGP面板的名称 如果需要控制某个插件的显示和隐藏的话 将 kgPanels:FetchFrame("XXX") 这一段改成你扫到的frame即可.PS:并不是所有的插件都可以用这个脚本实现 有些特例会强制显示 会导致这个点击脚本事件无效并且报错
面板鼠标悬停染色
<OnEnter>
Code:
kgPanels:FetchFrame("XXX"):SetScript("OnEnter", function(self)
self.bg:SetVertexColor(1, 1, 1, 0.25, self.bg:GetAlpha())
end)
<OnLeave>
Code:
kgPanels:FetchFrame("XXX"):SetScript("OnLeave", function(self)
self.bg:SetVertexColor(1, 1, 1, 0, self.bg:GetAlpha())
end)
OnEnter代表的是鼠标悬停在某个frame上的事件 通过修改SetVertexColor中的R.G.B数值以及alpha值可以对这个面板进行染色 反之 OnLeave就是鼠标离开这个frame之后响应的事件.PS 如果只写OnEnter的代码的话 鼠标离开这块面板之后 染色事件会一直生效而不消失
鼠标悬停向聊天框输出文字
<OnEnter>
Code:
kgPanels:FetchFrame("XXX"):SetScript("OnEnter", function(self)
DEFAULT_CHAT_FRAME:AddMessage("Test")
end)
当你的鼠标悬停在XXX这个面板上的时候向默认的聊天框输出Test字样的文字
创建退出游戏/返回角色的面板
<OnClick>
Code:
if pressed then
Quit();
end
如果要返回角色的话 把Quit改成Logout即可
点击更换另一个布局
<OnClick>
Code:
if pressed then
kgPanels:ActivateLayout("错落光影")
end
还记得你一开始创建的布局吧 就是那个 这个点击之后如果出现面板错位的问题的话 重载一下插件即可.Related articles:
http://icamtech.com,http://icamtech.net,http://supercheapstores.com,http://szkelixun.cn
http://www.chemwind.com/forum.php?mod=viewthread&tid=2683
http://thesecretplaces.com/forum.php?mod=viewthread&tid=584073
http://www.zsfgm.com/forum.php?mod=viewthread&tid=288102
http://www.cq-lt.com/bbs/thread-84677-1-1.html
http://lingwudk.zzxx.in/forum.php?mod=viewthread&tid=4898
http://www.ylktv.com/home.php?mod=space&uid=25692&do=blog&quickforward=1&id=2394 |
|