最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

jass基礎(chǔ)-倉(cāng)庫(kù)UI-使用交互

2023-08-26 11:05 作者:龐各莊大棚  | 我要投稿

#include "../../jass/BlizzardAPI.j"

library demo initializer test


? ? // 倉(cāng)庫(kù)UI - 使用交互


? ? globals

? ? ? ? Storage sto


? ? ? ? unit hero

? ? endglobals


? ? struct Storage

? ? ? ? integer parentUI ?// 父UI

? ? ? ? integer backUI ? // 背景圖

? ? ? ? integer array cellArr[100] ?// 格子

? ? ? ? integer array cellBtnArr[100] ?// 格子按鈕

? ? ? ? integer array itemTypeIdArr[100] // 存起來(lái)的道具id

? ? ? ? real cellSize ?// 格子的大?。ㄩL(zhǎng)寬)

? ? ? ? real borderSize // 邊框大小

? ? ? ? integer row ?// 橫向格子數(shù)

? ? ? ? integer col ?// 縱向格子數(shù)

? ? ? ? string backStr = "" ?// 背景圖路徑

? ? ? ? string cellStr = "ReplaceableTextures\\PassiveButtons\\PASBTNStatUp.blp" // 格子圖路徑


? ? ? ? boolean isOpen = false


? ? ? ? integer array btnUIArr[3] // 背包開關(guān)按鈕數(shù)組


? ? ? ? public static method create takes integer row, integer col, real cellSize, real borderSize returns thistype

? ? ? ? ? ? local Storage this = Storage.allocate()

? ? ? ? ? ? set this.row = row

? ? ? ? ? ? set this.col = col

? ? ? ? ? ? set this.cellSize = cellSize

? ? ? ? ? ? set this.borderSize = borderSize

? ? ? ? ? ? return this

? ? ? ? endmethod

? ? endstruct


? ? function openOrClose takes nothing returns nothing

? ? ? ? if sto.isOpen == true then

? ? ? ? ? ? set sto.isOpen = false

? ? ? ? else

? ? ? ? ? ? set sto.isOpen = true

? ? ? ? endif

? ? ? ? call DzFrameShow(sto.parentUI, sto.isOpen)

? ? endfunction


? ? function storageInit takes nothing returns nothing

? ? ? ? local integer i = 0

? ? ? ? local integer j = 0

? ? ? ? local integer index

? ? ? ? set sto = Storage.create(10, 6, 0.04, 0.01)

? ? ? ? set sto.parentUI = DzCreateFrameByTagName("FRAME", "", DzGetGameUI(), "", 0)

? ? ? ? call DzFrameSetAbsolutePoint(sto.parentUI, 0, 0.2, 0.5)

? ? ? ? call DzFrameSetSize(sto.parentUI, 2 * sto.borderSize + sto.row * sto.cellSize, 2 * sto.borderSize + sto.col * sto.cellSize)

? ? ? ? set sto.backUI = DzCreateFrameByTagName("BACKDROP", "", sto.parentUI, "", 0)

? ? ? ? call DzFrameSetPoint(sto.backUI, 0, sto.parentUI, 0, 0, 0)

? ? ? ? call DzFrameSetSize(sto.backUI, 2 * sto.borderSize + sto.row * sto.cellSize, 2 * sto.borderSize + sto.col * sto.cellSize)

? ? ? ? call DzFrameSetTexture(sto.backUI, sto.backStr, 0)


? ? ? ? set sto.btnUIArr[0] = DzCreateFrameByTagName("FRAME", "", DzGetGameUI(), "", 0)

? ? ? ? call DzFrameSetAbsolutePoint(sto.btnUIArr[0], 6, 0.78, 0.2)

? ? ? ? call DzFrameSetSize(sto.btnUIArr[0], 0.02, 0.02)


? ? ? ? set sto.btnUIArr[1] = DzCreateFrameByTagName("BACKDROP", "", sto.btnUIArr[0], "", 0)

? ? ? ? call DzFrameSetPoint(sto.btnUIArr[1], 6, sto.btnUIArr[0], 6, 0, 0)

? ? ? ? call DzFrameSetSize(sto.btnUIArr[1], 0.02, 0.02)

? ? ? ? call DzFrameSetTexture(sto.backUI, "", 0)


? ? ? ? set sto.btnUIArr[2] = DzCreateFrameByTagName("GLUEBUTTON", "", sto.btnUIArr[1], "", 0)

? ? ? ? call DzFrameSetPoint(sto.btnUIArr[2], 6, sto.btnUIArr[1], 6, 0, 0)

? ? ? ? call DzFrameSetSize(sto.btnUIArr[2], 0.02, 0.02)

? ? ? ? call DzFrameSetScript(sto.btnUIArr[2], 1, "openOrClose", false)

? ? ? ? loop

? ? ? ? ? ? exitwhen i >= sto.col

? ? ? ? ? ? loop

? ? ? ? ? ? ? ? exitwhen j >= sto.row

? ? ? ? ? ? ? ? set index = j + i * sto.row

? ? ? ? ? ? ? ? set sto.cellArr[index] = DzCreateFrameByTagName("BACKDROP", "", sto.backUI, "", 0)

? ? ? ? ? ? ? ? call DzFrameSetPoint(sto.cellArr[index], 0, sto.backUI, 0, sto.borderSize + j * sto.cellSize, - (sto.borderSize + i * sto.cellSize))

? ? ? ? ? ? ? ? call DzFrameSetSize(sto.cellArr[index], sto.cellSize, sto.cellSize)

? ? ? ? ? ? ? ? call DzFrameSetTexture(sto.cellArr[index], sto.cellStr, 0)

? ? ? ? ? ? ? ? set j = j + 1

? ? ? ? ? ? endloop

? ? ? ? ? ? set j = 0

? ? ? ? ? ? set i = i + 1

? ? ? ? endloop


? ? ? ? call DzFrameShow(sto.parentUI, false)

? ? endfunction


? ? function doSomething takes nothing returns nothing

? ? ? ? call storageInit()

? ? endfunction


? ? function findFreeIndex takes integer btn returns integer

? ? ? ? local integer i = 0

? ? ? ? loop

? ? ? ? ? ? exitwhen i >= sto.row * sto.col

? ? ? ? ? ? if sto.cellBtnArr[i] == btn then

? ? ? ? ? ? ? ? return i

? ? ? ? ? ? endif

? ? ? ? ? ? set i = i + 1

? ? ? ? endloop

? ? ? ? return - 1

? ? endfunction


? ? function isFull takes nothing returns boolean

? ? ? ? local integer i = 0

? ? ? ? loop

? ? ? ? ? ? exitwhen i >= 6

? ? ? ? ? ? if UnitItemInSlot(hero, i) == null then

? ? ? ? ? ? ? ? return false

? ? ? ? ? ? endif

? ? ? ? ? ? set i = i + 1

? ? ? ? endloop

? ? ? ? return true

? ? endfunction


? ? function clickBtn takes nothing returns nothing

? ? ? ? local integer btn = DzGetTriggerUIEventFrame()

? ? ? ? local integer index = findFreeIndex(btn)

? ? ? ? if index == -1 then

? ? ? ? ? ? return

? ? ? ? endif

? ? ? ? if isFull() then

? ? ? ? ? ? call BJDebugMsg("背包滿了")

? ? ? ? ? ? return

? ? ? ? endif

? ? ? ? call DzFrameSetTexture(sto.cellArr[index], sto.cellStr, 0)

? ? ? ? call DzFrameClearAllPoints(btn)

? ? ? ? call DzDestroyFrame(btn)

? ? ? ? set sto.cellBtnArr[index] = 0


? ? ? ? call UnitAddItemById(hero, sto.itemTypeIdArr[index])

? ? endfunction


? ? function useAction takes nothing returns nothing

? ? ? ? local item it = GetManipulatedItem()

? ? ? ? local unit u = GetTriggerUnit()

? ? ? ? ?// 獲取道具的圖標(biāo)

? ? ? ? ?local string str = YDWEGetItemDataString(GetItemTypeId(it), 1)

? ? ? ? ?local integer freeIndex = findFreeIndex(0)

? ? ? ? ?if index == -1 then

? ? ? ? ? ? call BJDebugMsg("倉(cāng)庫(kù)滿了")

? ? ? ? ? ? return

? ? ? ? endif

? ? ? ? ?if u == hero then

? ? ? ? ? ? call DzFrameSetTexture(sto.cellArr[freeIndex], str, 0)

? ? ? ? ? ? set sto.cellBtnArr[freeIndex] = DzCreateFrameByTagName("GLUEBUTTON", "", sto.cellArr[freeIndex], "", 0)

? ? ? ? ? ? call DzFrameSetPoint(sto.cellBtnArr[freeIndex], 6, sto.cellArr[freeIndex], 6, 0, 0)

? ? ? ? ? ? call DzFrameSetSize(sto.cellBtnArr[freeIndex], sto.cellSize, sto.cellSize)

? ? ? ? ? ? call DzFrameSetScript(sto.cellBtnArr[freeIndex], 1, "clickBtn", false)


? ? ? ? ? ? set sto.itemTypeIdArr[freeIndex] = GetItemTypeId(it)

? ? ? ? ?endif

? ? ? ? ?set it = null

? ? ? ? ?set u = null

? ? endfunction


? ? function triggerInit takes nothing returns nothing

? ? ? ? local trigger t = CreateTrigger()

? ? ? ? local trigger t2 = CreateTrigger()

? ? ? ? local trigger t3 = CreateTrigger()

? ? ? ? call TriggerRegisterPlayerChatEvent(t, Player(0), "1", true)

? ? ? ? call TriggerAddAction(t, function doSomething)


? ? ? ? call TriggerRegisterTimerEventSingle(t2, 0)

? ? ? ? call TriggerAddAction(t2, function storageInit)


? ? ? ? call TriggerRegisterPlayerUnitEvent(t3, Player(0), EVENT_PLAYER_UNIT_USE_ITEM, null)

? ? ? ? call TriggerAddAction(t3, function useAction)


? ? ? ? set t = null

? ? ? ? set t2 = null

? ? ? ? set t3 = null

? ? endfunction


? ? function gameInit takes nothing returns nothing

? ? ? ? local unit u2 = CreateUnit(Player(0), 'hrif', 100, 100, 0)

? ? ? ? set hero = CreateUnit(Player(0), 'Hpal', 0, 0, 0)

? ? ? ? call EnableDragSelect(false, true)

? ? ? ? call FogEnable(false)

? ? ? ? call FogMaskEnable(false)


? ? ? ? call CreateItem('I006', 0, 0)

? ? ? ? call CreateItem('I006', 0, 0)

? ? ? ? call CreateItem('I006', 0, 0)

? ? ? ? call CreateItem('I006', 0, 0)

? ? ? ? call CreateItem('I006', 0, 0)

? ? ? ? call CreateItem('I006', 0, 0)

? ? ? ? call CreateItem('I006', 0, 0)

? ? ? ? call CreateItem('I007', 0, 0)

? ? ? ? call CreateItem('I007', 0, 0)

? ? ? ? call CreateItem('I007', 0, 0)

? ? ? ? call CreateItem('I007', 0, 0)

? ? ? ? call CreateItem('I007', 0, 0)

? ? ? ? call CreateItem('I007', 0, 0)

? ? ? ? call CreateItem('I007', 0, 0)

? ? ? ? call CreateItem('I008', 0, 0)

? ? ? ? call CreateItem('I008', 0, 0)

? ? ? ? call CreateItem('I008', 0, 0)

? ? ? ? call CreateItem('I008', 0, 0)

? ? ? ? call CreateItem('I008', 0, 0)

? ? ? ? call CreateItem('I008', 0, 0)

? ? ? ? call CreateItem('I008', 0, 0)

? ? endfunction


? ? function test takes nothing returns nothing

? ? ? ? call gameInit()

? ? ? ? call triggerInit()

? ? endfunction

endlibrary

jass基礎(chǔ)-倉(cāng)庫(kù)UI-使用交互的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
依兰县| 泾源县| 靖远县| 万荣县| 睢宁县| 鹤岗市| 永和县| 治县。| 含山县| 商丘市| 民县| 台前县| 沂南县| 福鼎市| 昌乐县| 灵寿县| 旬邑县| 常宁市| 平安县| 莒南县| 达州市| 塔河县| 花莲县| 洛阳市| 格尔木市| 深圳市| 阳高县| 天峨县| 营口市| 玛纳斯县| 德庆县| 收藏| 湛江市| 新竹县| 沾化县| 泉州市| 揭东县| 普宁市| 凤台县| 普定县| 高陵县|