ProjectX.001.暫名'工作室幻想' - 開(kāi)發(fā)日志.004 - 懸停信息欄 & 對(duì)話(huà)氣泡

又是一天工作日,又是一次brad的背手巡邏,又是突然說(shuō)我們要給這個(gè)游戲加入些敘事內(nèi)容,你說(shuō)加就加嘍,反正我也沒(méi)啥發(fā)言權(quán),然后我就加了。

我們預(yù)期為:4個(gè)開(kāi)發(fā)組成員會(huì)基于玩家的交互說(shuō)一些對(duì)應(yīng)的Dialogue。觸發(fā)條件可以是用卡或個(gè)體數(shù)值變化,要不就是游戲開(kāi)發(fā)成功或失敗等特殊條件。
這部分內(nèi)容的開(kāi)發(fā)其實(shí)簡(jiǎn)單的,說(shuō)白了就是string類(lèi)型變量的資源索引和傳遞,難點(diǎn)在于呈現(xiàn)形式的優(yōu)化上。

優(yōu)化目標(biāo):讓氣泡選框可以依據(jù)內(nèi)容字體數(shù)量和排布自適應(yīng)大小。
這部分工作說(shuō)好做也好做。
氣泡背景是個(gè)UI Image,添加Vertical Layout Group(勾選Control Child Size)和Content Size Fitter(Fit都切成Peferred Size)兩個(gè)組件,具體對(duì)話(huà)內(nèi)容的Text作為氣泡背景的子物體,然后氣泡就會(huì)以子物體文字的內(nèi)容長(zhǎng)度進(jìn)行擴(kuò)展。
問(wèn)題出現(xiàn):加了打字機(jī)形式的功能后,氣泡彈出后會(huì)跟著文字內(nèi)容的打出的長(zhǎng)度,持續(xù)變換長(zhǎng)寬高,就很呆。(參考下面gif綠字體彈出)
所以我在想要不直接就全文字彈出的形式來(lái)呈現(xiàn),不要Type的功能了。(參考下面gif紅字體彈出)

一番嘗試之后,我發(fā)現(xiàn)是我對(duì)于TMP的認(rèn)知淺薄了,TMP_Text是有maxVisibleCharacters這個(gè)變量的存在的,可以一開(kāi)始就直接將所有的字符串輸入,獲得一個(gè)恒定且自適應(yīng)的對(duì)話(huà)框大小,雖然讓maVisibleCharacters為0再用打字機(jī)的協(xié)程讓他的顯示字符數(shù)量每隔0.2秒+1,這樣就可以做出我期望的效果了。

然后我給這些對(duì)話(huà)添加了可拖拽和單擊后縮小刪除的功能。為了讓玩家有充足的時(shí)間去閱讀文字,所以將對(duì)話(huà)框刪除的時(shí)間點(diǎn)交付給玩家來(lái)決定。Brad還提出個(gè)想法,就是對(duì)話(huà)框生成后會(huì)在屏幕中慢慢的隨機(jī)飄動(dòng),但是我還沒(méi)做,什么時(shí)候做看我心情吧:P

最后還加了Hover Tip的功能。玩家可以懸停屏幕中的任意元素,閱讀卡牌信息或是場(chǎng)景內(nèi)要素的信息。這也是為了我們教育游戲的中心概念服務(wù)的。希望玩家可以通過(guò)閱讀懸停框內(nèi)的文字達(dá)到學(xué)習(xí)做游戲的效果。真的有人會(huì)看嗎……當(dāng)然,由于Fried Egg那邊的UI美術(shù)資源沒(méi)給到,所以看著還非常的簡(jiǎn)陋。

呵呵,又是拉稀逝更新呢……明天還有更新,記得來(lái)看喔~
程序員干活(摸魚(yú))去了,拜~