鋼鐵雄心4 GUI教程 P2圖像與文本變換

上一P教程著重介紹了如何新建一個(gè)頁(yè)面,這一期將會(huì)講解Scripted gui中圖像和文本變化的方法
新建窗口中所引用的圖像文件都是固定的,但是我們需要gui在不同時(shí)候使用不同的文本,圖像來(lái)完成“交互”,這需要我們改進(jìn)后端代碼

下面以TNO著名的“超事件”為例子。
1.前端頁(yè)面
首先讓我們構(gòu)思一下這個(gè)界面,它會(huì)在一些重要的新聞?dòng)|發(fā)后展現(xiàn)出來(lái),給全球的國(guó)家。
當(dāng)然我們不可能給所有“超事件”都單獨(dú)寫一個(gè)窗口分開觸發(fā),我們只需要改變這個(gè)窗口中的圖像和文本內(nèi)容,讓它和不同的新聞事件對(duì)應(yīng)就可以了

首先注冊(cè)相應(yīng)圖像文件

然后創(chuàng)建一個(gè)超事件的窗口

注意紅框位置,由于超事件框可移動(dòng),但是我們想讓每次觸發(fā)不同超事件總是出現(xiàn)在屏幕中央,而不是拖動(dòng)后的位置,所以我們加入一個(gè)show_position代替原來(lái)的position
引入了show_position的同時(shí)我們加入了一個(gè)出現(xiàn)和消失的動(dòng)畫(show/hide_animation_type),但由于動(dòng)畫的時(shí)間(animation_time)僅為1,非常短,因此幾乎看不見進(jìn)入,消失的動(dòng)畫
alwaystransparent則是設(shè)置元件是否可以重疊下的元件,默認(rèn)為no,意味著如果一個(gè)icon堆疊在button上方,我們就無(wú)法點(diǎn)擊icon下的button
補(bǔ)充上按鈕,和文本框


2.后端編寫

展現(xiàn)窗口依舊使用的是flag,為了根據(jù)新聞而更換超事件照片,使用properties來(lái)分配圖像元件(button,icon)的圖片
注意,這里的image使用的是scripted localisation(動(dòng)態(tài)文本)
scripted gui實(shí)現(xiàn)變化的主要原理,就是通過(guò)scripted localisation在不同條件下,變換不同的圖像注冊(cè)名稱,來(lái)實(shí)現(xiàn)ui的變化

人為地,我們將預(yù)計(jì)制作的超事件編號(hào),用變量代表,1號(hào)超事件對(duì)應(yīng)的全局變量(global.supernews_event_id)為1,2號(hào)對(duì)應(yīng)為2,以此類推



文本內(nèi)容同理,區(qū)別在于,文本內(nèi)容需要在本地化的文件中直接使用scripted localisation

紅框部分是ui文本框的文本內(nèi)容,讓ui的文本框使用對(duì)應(yīng)的scripted localisation
黃框部分是scripted localisation不同情況下對(duì)應(yīng)的不同文本內(nèi)容
最后我們需要通過(guò)新聞設(shè)置變量來(lái)呈現(xiàn)這個(gè)“超事件”


進(jìn)入游戲測(cè)試,大功告成

至此,有關(guān)圖像文本變化內(nèi)容結(jié)束