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

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

鋼鐵雄心4 GUI教程 P7gridboxType(三)

2023-03-04 13:32 作者:iWagination  | 我要投稿

注:觀前提示,gridboxType與數(shù)組緊密結合,在觀看前請確保你有足夠的有關array的知識

扇形議會原址鏈接:https://github.com/Flaxbeard/hoi4-parliament-diagram

這一P將以TNO最富盛名的扇形議會滑動條按鈕為例子,完成girdbox最后的補充

前兩期介紹了有關gridbox的工作原理和使用,最后值得一提的是,gridbox所列舉的每個元件,都可以單獨分配effects或者properties,后者可以更改的不止有幀數(shù)/圖像,還有它們的坐標,也就是意味著,你可以通過單獨設置x坐標數(shù)組y坐標數(shù)組,令gridbox這棟大樓變成任何你需要的形狀

扇形議會:

首先參照P7(二),制作一個8x8規(guī)格的方形議會

先前詳細介紹過,這里就只展示關鍵部分了

素材準備

前端設計

后端編寫

接下來,在properties中,將被列舉的窗口下的iconType關聯(lián)兩個坐標數(shù)組幀數(shù)數(shù)組

正如之前提過的,gridboxType的一大應用,即批量為相同規(guī)格的元件依據(jù)數(shù)組分配不同的圖像,

更進一步,gridboxType所依據(jù)生成的數(shù)組,為其中列舉的每一個窗口都賦予了其對應在數(shù)組中的位次(index)數(shù)值(value),并且將這兩個信息儲存在dynamic_lists所定義的臨時變量中(此處規(guī)定index = idx,即idx這個臨時變量)

因此,即使properties中:x,y,frame,關聯(lián)了與gridbox依據(jù)生成的數(shù)組(parliament_seats不同的其它數(shù)組(x,y,frame對應的其它數(shù)組),但是依然可以通過臨時變量(idx)來正確地“定位”到gridbox所生成的每個不同窗口

將gridbox高和寬改為100%并且設置slotsize

可以對比一下與之前的變化

盡管我們寫了橫向最大為1,但是通過關聯(lián)坐標的數(shù)組,我們依然可以令被列舉的窗口內(nèi)的元件正常顯示

接下來只需要提前寫好每個議席圖標的x,y值,令64個議席圓組成一個扇形就可以了

只展示了部分,不是完整的坐標數(shù)組

幀數(shù)數(shù)組同理,素材準備中我們將藍色規(guī)定為第一幀紅色第二幀

依據(jù)生成的數(shù)組(parliament_seats中64個變量值均為1,但是幀數(shù)數(shù)組(array_f_array為1,2參半,所生成的圖像也將是參半而不是純藍色

可以看見,64個圖標排布出一個扇形,同時顏色也按照幀數(shù)數(shù)組來顯示

基于上述介紹的,我們只需要排布出x,y數(shù)組就可以將正方形議會改裝成扇形的,圓形的,甚至任意形狀的議會了(當然工作量隨著你席位數(shù)量上升而成指數(shù)級增長就是了)

滑輪按鈕:

注:區(qū)別于P6滑輪,這里介紹的是類似使用滑條某個變量,代替傳統(tǒng)的加減號按鈕

基于上文介紹的扇形議會,接下來我們將使用一個滑輪控制64個議席的紅藍占比,

盡管P社提供了scrollbarType,但是很遺憾它并不開放編輯,所以我們需要用一些特殊方式實現(xiàn)滑輪

我們將gridbox關聯(lián)一個含有按鈕(buttonType)的窗口,列舉一個從0到100的按鈕組,然后將它們排列成一個橫行,就可以模擬出滑輪條的效果

素材準備

一個兩幀圖像,第一幀是初始圖像,第二幀是點擊圖像,

一個圓形游標,通過將x坐標變量關聯(lián)模擬滑塊移動

前端編寫

slotsize大小改為方形按鈕大小就可以實現(xiàn)橫向的緊密排列,縱向最多1行,橫向為0~100的按鈕組

后端編寫:

首先展開一個數(shù)值從0~100的數(shù)組,并且設置初始狀態(tài)下,游標的x坐標關聯(lián)的變量

將該數(shù)組與gridbox關聯(lián)

為按鈕分配點擊效果

我們現(xiàn)在得到了0~100的方形按鈕組成的一個滑條,

當我們點擊滑條某一點的時候,查詢該點的按鈕整個滑條中對應的數(shù)值(v),然后將對應值轉化為比例乘上64,得到紅藍席位數(shù)量,

然后通過先前為議會幀數(shù)關聯(lián)的幀數(shù)數(shù)組(array_f_array來改變議席的顏色

再補充上游標的x坐標關聯(lián)的變量運算,令每次點擊后游標x更改為滑條對應的位置

理論上整個滑條制作就結束了,但是為了讓滑輪看起來更真實一點,我們再加入左右兩個加減按鈕,讓玩家可以通過按鈕輕微地移動滑塊

進入游戲測試:

附錄1:

通過Python生成x,y坐標數(shù)組

TNO制作組Flaxbeard分享了一個扇形議會的生成器(項目地址:https://github.com/Flaxbeard/hoi4-parliament-diagram)

可以通過它生成對應的x,y坐標數(shù)組,簡化工作量

生成器可以去原項目連接處下載,我也會打包裝進代碼文件放在評論區(qū)

該生成器需要安裝Python 3和Pillow庫

Python 3:?https://www.python.org

Pillow:?https://python-pillow.org

附錄2:

為gridbox生成的buttonType分配點擊幀

這不是一個必須內(nèi)容,但是可能對于制作其它的gridbox提供幫助

我們制作按鈕時特意區(qū)分了兩個幀效果,點擊后的滑條將變更為兩個紅色正方形,與一般按鈕不同,為gridbox生成的按鈕分配點擊幀的時候會面臨無法正確定位的問題

例如:如果使用的是簡單的buttonType而非關聯(lián)gridbox生成的,我們可能會將每個buttonType命名為“button_number”的形式,區(qū)分0~100的按鈕,然后分別寫在properties下寫frame

但是如果使用的gridboxType會出現(xiàn)一個問題,為buttonType分配圖像只能使用被列舉的元件的name,如下

我們需要正確定位到玩家點擊的按鈕是所生成的哪一個,然后只為對應的那個按鈕分配點擊幀,有以下兩個思路:

一、關聯(lián)幀數(shù)數(shù)組:

在點擊按鈕效果插入一段更新幀數(shù)數(shù)組的effect

可以看見點擊幀可以正確的顯示

二、使用temp variable(臨時變量)

這是一個高級制作手段

注意到臨時變量可以存在于block塊中(effect塊或trigger塊),而visible是實時更新的,即每次更改gridbox時,重新判斷一次

每次點擊gridbox中的組件都將檢測一次trigger并且設置一個臨時變量,

先前的點擊效果中,我們定義了一個變量(current_int)并且每次點擊時,都將它的值改為關聯(lián)數(shù)組(slider_buttons)對應變量(slider_buttons^v)的值

每次點擊按鈕時,都會更新一次GUI并且檢測一次trigger,檢測到某個按鈕被點擊的時候,設置臨時變量為2,其余的按鈕則為1,

由于這個臨時變量只存在于trigger組塊中,因此每個被生成的按鈕都獨立分配點擊幀,而不會互相干擾

檢測按鈕被點擊的trigger原理:當某個按鈕在關聯(lián)數(shù)組中對應的變量值,等于點擊效果設置的這個變量值時,該按鈕即為被點擊的那個

gridbox終于第二次完結了,接下來還會繼續(xù)介紹hoi4-scripted-graphs所使用的樣例,敬請期待

鋼鐵雄心4 GUI教程 P7gridboxType(三)的評論 (共 條)

分享到微博請遵守國家法律
盐城市| 迁西县| 农安县| 长顺县| 清苑县| 蓬安县| 阳山县| 丘北县| 水城县| 桂林市| 五莲县| 苏尼特右旗| 商都县| 景宁| 杭锦旗| 故城县| 清水县| 陇南市| 建平县| 屏边| 罗平县| 鹿泉市| 贵州省| 肇源县| 繁峙县| 九龙县| 江西省| 九台市| 哈尔滨市| 苍南县| 宁武县| 乌兰浩特市| 和龙市| 藁城市| 阿尔山市| 琼结县| 额济纳旗| 建瓯市| 香港 | 洛阳市| 鄂尔多斯市|