发新话题
打印

[发表插件] ShortLayout 1.5 简单界面布局

还有能否支持战斗中显示,不求战斗中移动,只求非战斗时隐藏就好了

TOP

对了,没有透明度设置么?

TOP

请教各位大大
1.能否对聊天输入框的位置修改,使它在聊天窗口的上部?
2.设定位移量有什么好办法测量相对位移吗?还是只能通过 /sl 不断微调?
3.SetFrameStrata这个命令好像不能识别啊,在lua文件里也没有这个函数的定义

TOP

请问能给动作条框架添加边框吗?
是用SetBackdropBorderColor(red, green, blue, alpha)这个参数实现吗

TOP

Function: 自定义处理窗体函数, 实现自己的处理逻辑, 会传入一个frame参数代表当前窗体.
能举个例子吗。。。
能用自定义函数实现不同情况显示不同框架吗?
引用:

hooksecurefunc("ShowBonusActionBar", function()
for i = 1, 12 do
  getglobal("ActionButton"..i):SetAlpha(0)
  getglobal("ActionButton"..i):RegisterForClicks("")
  getglobal("ActionButton"..i):RegisterForDrag("")
end
end)
hooksecurefunc("HideBonusActionBar", function()
for i = 1, 12 do
  getglobal("ActionButton"..i):SetAlpha(1)
  getglobal("ActionButton"..i):RegisterForClicks("AnyUp")
  getglobal("ActionButton"..i):RegisterForDrag("LeftButton", "RightButton")
end
end)
上面这行代码实现的效果能在ShortLayout中实现吗?

TOP

{Frame = "framename", SetBackdropBorderColor= {red, green, blue, alpha}}

自定义函数
function myfunc(frame)
--do something...
end
{Frame = "framename", Function = myfunc }

TOP

引用:
原帖由 simonw 于 2008-1-7 11:27 发表
{Frame = "framename", SetBackdropBorderColor= {red, green, blue, alpha}}

自定义函数
function myfunc(frame)
--do something...
end
{Frame = "framename", Function = myfunc }
谢谢老大!
SetBackdropBorderColor没在ShortLayout.lua中定义也能实现吗,我看SetMovable等其他几个参数都在里面定义了的呢

TOP

如果我想修改动作条上按钮的间距该怎么设置啊,难道一个按钮一个按钮的定义锚点?

TOP

凡是frame有的方法, 都支持, 格式就类似上面的, 参数放在{}表中. 那几个定义了的只是需要特殊处理的.

按钮间距本身应该如何改, 你先提供个方法加示例代码, 我再想想, 具体这部分我不熟.

原先没有使用, hooksecurefunc 不知会出毛病不, 但看起来貌似不会, 因为都是初始化执行一次的东西.

TOP

本来想用ShortLayout来实现和WIND_XE一样的动作条效果的,如下图

可实际配置起来发现还是有一定的难度,下图为半成品。
主要有下面几个问题:
1.右边动作条的横向排列问题,目前使用的方法是一个按钮一个按钮的对其来实现,代码如下
引用:

{Frame = "MultiBarRightButton1", SetPoint = {"BOTTOMLEFT", UIParent, "BOTTOMLEFT", 0, 6}, SetScale = 0.825},
{Frame = "MultiBarRightButton2", SetPoint = {"BOTTOMLEFT", MultiBarRightButton1, "BOTTOMRIGHT", 6, 0}, SetScale = 0.825},
{Frame = "MultiBarRightButton3", SetPoint = {"BOTTOMLEFT", MultiBarRightButton2, "BOTTOMRIGHT", 6, 0}, SetScale = 0.825},
{Frame = "MultiBarRightButton4", SetPoint = {"BOTTOMLEFT", MultiBarRightButton3, "BOTTOMRIGHT", 6, 0}, SetScale = 0.825},
{Frame = "MultiBarRightButton5", SetPoint = {"BOTTOMLEFT", MultiBarRightButton4, "BOTTOMRIGHT", 6, 0}, SetScale = 0.825},
{Frame = "MultiBarRightButton6", SetPoint = {"BOTTOMLEFT", MultiBarRightButton5, "BOTTOMRIGHT", 6, 0}, SetScale = 0.825},
{Frame = "MultiBarRightButton7", SetPoint = {"BOTTOMLEFT", MultiBarRightButton6, "BOTTOMRIGHT", 6, 0}, SetScale = 0.825},
{Frame = "MultiBarRightButton8", SetPoint = {"BOTTOMLEFT", MultiBarRightButton7, "BOTTOMRIGHT", 6, 0}, SetScale = 0.825},
{Frame = "MultiBarRightButton9", SetPoint = {"BOTTOMLEFT", MultiBarRightButton8, "BOTTOMRIGHT", 6, 0}, SetScale = 0.825},
{Frame = "MultiBarRightButton10", SetPoint = {"BOTTOMLEFT", MultiBarRightButton9, "BOTTOMRIGHT", 6, 0}, SetScale = 0.825},
{Frame = "MultiBarRightButton11", SetPoint = {"BOTTOMLEFT", MultiBarRightButton10, "BOTTOMRIGHT", 6, 0}, SetScale = 0.825},
{Frame = "MultiBarRightButton12", SetPoint = {"BOTTOMLEFT", MultiBarRightButton11, "BOTTOMRIGHT", 6, 0}, SetScale = 0.825},
这样就产生了第一个问题。给动作条添加外框,代码如下
引用:

{Frame = "MultiBarRight", SetBackdrop={bgFile = "Interface/DialogFrame/UI-DialogBox-Background",edgeFile = "Interface/Tooltips/UI-Tooltip-Border",tile = true,tileSize = 16,edgeSize = 16,insets = { left = 5, right = 5, top = 5, bottom = 5 } }},
结果产生的效果如上图,外框依然显示在默认右动作条的地方(我不知道如何使MultiBarRight横向显示。。),我想重新设置动作条长宽不知道能实现不。
2.不知道如何给给背包栏和系统菜单栏添加外框。貌似背包和系统菜单的按钮没有各自的框架,而是把这些Button和ActionButton直接设定在一个框架上,这样就导致我不知道该如何象WIND_XE那样有一个独立的背包框架来定义参数了。不知道这个问题有没有办法实现。

附件

未标题-1.jpg (75.23 KB)

2008-1-7 20:49

未标题-1.jpg

本帖最近评分记录
  • simonw 声望 +10 有价值的内容 2008-1-7 21:30

TOP

to YOURS_HJ
你真的很厉害, 这么做下去都快做成自己的插件的作品了.
上面第一个问题的引用你可以用循环来解决, 都是字符串 MultiBarRightButtonN 用循环生成这样结构的数组就行.

设置长宽有setweight和sethight函数.

要自定义边框我觉得有2中方法, 1是移动拼凑原先已有的边框, 这有个问题就是你需要仔细看他本身的源码. 2是自己重新写一个边框出来, 这个应该更容易些, 所以说弄完了差不多你的插件就出来了.

TOP

呵呵,谢谢老大的赞赏,可惜偶不会写程序(=。=!),要不然就开工了。。
主要是因为WIND_XE的姿态栏无法正常显示很是郁闷才试着找一款合适的动作条。老大的插件真的是很强大,不怕没有实现不了的功能,就怕想不到,其实WOW玩插件也是一种乐趣。。

我使用SetWidth和SetHeight测试了下,结果报错。
测试配置,
引用:
{Frame = "MultiBarRightButton1", SetWidth = {48}, SetPoint = {"BOTTOMLEFT", UIParent, "BOTTOMLEFT", 0, 6}, SetScale = 0.825},
报错信息
引用:
错误: Usage: MultiBarRightButton1:SetWidth(width)
AddOn: ShortLayout
文件: ShortLayout.lua
行: 157
计数: 1

TOP

SetWidth = 48,  放在SetScale之后这样试试.

这个插件也有局限性, 只适合静态配置, 有一些blz默认的ui对象他会实时变动, 会造成本身已经改了的属性又被改回去, 还有一些是即时创建的对象也没法控制, 比如buff那里, 得继续想想看有没统一得解决办法.

TOP

能不能把动态创建的对象添加一个外框架,以外框架来定义他们的位置?

TOP

刚看到这个插件 很高兴有这样的插件 用SHORTKEY用得感觉这样的才是真正强大的插件

呵呵 无技能条的清爽FS强大了太多  

顶顶顶

TOP

to YOURS_HJ
可以是可以, 但方法不通用, 你需要专门针对你要附着框架的那部分ui来写代码, 比如hook掉某个按钮的某个部分. 失去了通用性后的东西也不适合加在我这个插件里.

to mlongm
谢谢支持, 有空了在圈子里贴贴你的配置

TOP

能不能设置一个全局边框参数啊
类似
Border = {
        bgFile = "Interface/DialogFrame/UI-DialogBox-Background",
        edgeFile = "Interface/Tooltips/UI-Tooltip-Border",
        tile = true,
        tileSize = 16,
        edgeSize = 16,
        insets = { left = 5, right = 5, top = 5, bottom = 5 } }

这样就不用每个框架添加一个SetBackdrop

TOP

这个目前不可以, 虽然实现起来貌似不复杂, 但需要进一步考虑其价值.

TOP

一个加急问题 背包是怎么移动的?就这个弄不了拉 帮解答下啊 谢谢


{Frame = "MainMenuMaxLevelBar[0-3]", Hide = true},
{Frame = "MainMenuBarTexture[0-3]", Hide = true},
{Frame = "BonusActionBarTexture[0-1]", Hide = true},
{Frame = "SlidingActionBarTexture[0-1]",  Hide = true},
{Frame = "ShapeshiftBarLeft", Hide = true},
{Frame = "ShapeshiftBarMiddle", Hide = true},
{Frame = "ShapeshiftBarRight", Hide = true},
{Frame = "MainMenuBarLeftEndCap", Hide = true},
{Frame = "MainMenuBarRightEndCap", Hide = true},
{Frame = "ExhaustionTick", Hide = true},
{Frame = "MainMenuBarMaxLevelBar", Hide = true},
{Frame = "MainMenuExpBar", Hide = true},
{Frame = "ReputationWatchBar", Hide = true},
{Frame = "MainMenuBarPerformanceBarFrame", Hide = true},
{Frame = "CharacterMicroButton", Hide = true},
{Frame = "SpellbookMicroButton", Hide = true},
{Frame = "TalentMicroButton", Hide = true},
{Frame = "QuestLogMicroButton", Hide = true},
{Frame = "SocialsMicroButton", Hide = true},
{Frame = "LFGMicroButton", Hide = true},
{Frame = "MainMenuMicroButton", Hide = true},
{Frame = "HelpMicroButton", Hide = true},
{Frame = "KeyRingButton", Hide = true},
{Frame = "CharacterBag[0-3]Slot", Hide = true},
{Frame = "MainMenuBarBackpackButton", Hide = true},
{Frame = "ActionBarUpButton", Hide = true},
{Frame = "ActionBarDownButton", Hide = true},
{Frame = "MainMenuBarPageNumber", Hide = true},
{Frame = "ContainerFrame[1-13]", Strata = "HIGH"},

这些能不能每个加个小注解啊 一个一个实验太累了 而且有很多看不到是什么效果的

TOP

弄了一下午 有了点心得 但也发现些问题:
1. 这个装上后 SHIFT+M 的透明地图就呼不出来了
2.使用这个改变了小地图位置时候 放大小地图的键可用,缩小的键失灵了,点它会出现 区域地图几个字 但缩小地图的功能没有了
3.请教怎样把小地图做成方的?周围的按扭定位大家是怎么定位的?
4.活动技能条(shift+↑OR↓切换的那个)应该是可以切换6组吧,我的现在只有2组了不知道什么原因怎样才能把其他的调出来?

急盼各位高手帮在下解惑

下面是我做的效果图:

TOP

发新话题