哇噢星球

 找回密码
 申请注册
搜索
热搜: 地形 技能 Lua

【界面】演示:创建一个图片

[复制链接]
皇家骑士 发表于 2019-5-24 02:50:39 | 显示全部楼层 |阅读模式
jass:

set udg_CustomFrameA = DzCreateFrameByTagName("BACKDROP", "name", udg_GameUI, "MyBackDrop1", 0)
call DzFrameSetTexture(udg_CustomFrameA, "ReplaceableTextures\\TeamColor\\TeamColor02.blp", 0)
call DzFrameSetSize(udg_CustomFrameA, 0.8, 0.6)
call DzFrameSetPoint(udg_CustomFrameA, 4, udg_GameUI, 4, 0, 0)
call DzFrameShow(udg_CustomFrameA, true)

set udg_CustomFrameB = DzCreateFrameByTagName("SPRITE", "name2", udg_CustomFrameA, "template", 0)
call DzFrameSetSize(udg_CustomFrameB, 0.0001, 0.0001)
call DzFrameSetPoint(udg_CustomFrameB, 4, udg_CustomFrameA, 4, 0, 0)
call DzFrameSetModel(udg_CustomFrameB, "UI\\Glues\\BattleNet\\BattlenetWorking\\BattlenetWorking.mdl", 0, 0)
call DzFrameShow(udg_CustomFrameB, true)

fdf:

Frame "BACKDROP" "MyBackDrop1" {
    Height 0.05,
    Width 0.03,
    BackdropTileBackground,
    BackdropBackgroundSize 0.128,
    BackdropBackground "ReplaceableTextures\TeamColor\TeamColor01.blp",
    BackdropBlendAll,
    SetAllPoints,
    Frame "SPRITE" "MyBackDrop1Sprite1" {
        BackgroundArt "UI\Glues\BattleNet\BattlenetWorking\BattlenetWorking.mdl",
        SetAllPoints,
    }
}

使用BACKDROP可以创建贴图,使用SPRITE可以创建模型。
在UI中似乎并没有一个直接的创建2D图片的功能,因此只能做个模型底板然后把贴图贴到模型上再显示。
暂时没有更多研究。

其中CustomFrameB的Sizse设置为0.0001的原因是设置模型的标准尺寸似乎并不会让其与其父节点中心对齐,因此设置为一个极小值使其不过多偏离位置,同时也能居中。
另外,如果不设置Size,SPRITE会无法显示,BACKDROP也是,这也许和魔兽的界面机制有关,但原因暂时不明。
回复

使用道具 举报

Archiver|手机版|小黑屋|哇噢星球  

GMT+8, 2019-6-25 10:33 , Processed in 0.035538 second(s), 13 queries , File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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