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

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

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

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

#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] ?// 格子按鈕

? ? ? ? item array itemArr[100] // 存起來(lái)的道具

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

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

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

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

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

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


? ? ? ? boolean isPick = false


? ? ? ? boolean isOpen = false


? ? ? ? integer array btnUIArr[3] // 背包開(kāi)關(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

? ? ? ? set sto.isPick = true

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

? ? ? ? call DzFrameClearAllPoints(btn)

? ? ? ? call DzDestroyFrame(btn)

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


? ? ? ? call UnitAddItem(hero, sto.itemArr[index])

? ? ? ? set sto.isPick = false

? ? endfunction


? ? function pickAction takes nothing returns nothing

? ? ? ? local unit u = GetTriggerUnit()

? ? ? ? local item it = GetManipulatedItem()

? ? ? ? // 獲取道具的圖標(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 and not sto.isPick 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)


? ? ? ? ? ? call UnitDropItemPoint(hero, it, GetUnitX(hero), GetUnitY(hero))

? ? ? ? ? ? call SetItemPosition(it, 1000, 1000)

? ? ? ? ? ? set sto.itemArr[freeIndex] = 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 TriggerRegisterAnyUnitEventBJ(t3, EVENT_PLAYER_UNIT_PICKUP_ITEM)

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

? ? ? ? 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('rat3', 0, 0)

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

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

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

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

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

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

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

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

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

? ? ? ? call CreateItem('rst1', 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ó)家法律
调兵山市| 沐川县| 离岛区| 红原县| 汉寿县| 万荣县| 高阳县| 阿拉善右旗| 邯郸市| 广西| 任丘市| 巨鹿县| 英超| 靖安县| 卢湾区| 旺苍县| 清涧县| 西青区| 仲巴县| 房产| 东宁县| 五大连池市| 洛扎县| 合作市| 临沧市| 绥德县| 鹿泉市| 丹江口市| 马龙县| 通州区| 杨浦区| 阆中市| 辽源市| 海林市| 彰化市| 汶上县| 天台县| 高邮市| 策勒县| 龙川县| 额济纳旗|