作者bleed1979 (十三)
看板GameDesign
標題[請益] 螢幕秀字實作方式問題
時間Wed Nov 3 13:23:04 2010
[問題需求]
以打字機的方式在螢幕上秀出英文句子。
以句子中的每個詞為單位來打字。
[程式語言]
C++
[已有的準備]
funA(screen_x, screne_y, "This is a game!", screen);
假設我已經搞成funA傳入螢幕的x座標和y座標,const char*和螢幕的Surface,
就可以在座標(x, y)秀出"This is a game!"
額外的東西像是字體選擇和顏色等等都搞定不在話下。
[我所想到的實作方式]
如果每200ms刷新螢幕一次,
方式1.
固定screen_x, screen_y,將字體儲存以
"This"
"This is"
"This is a"
"This is a game!"
的方式呼叫funA來秀出句子。
方式2.
依據每個單詞計算並更新screen_x和screen_y,
只需要儲存
"This"
"is"
"a"
"game!"
[心得或感想]
想請教上述兩種可行的方式,那一種是比較標準的方式?
因為我自覺都不方便。
方式1.文字檔案的容量會變很大,碰到句子換行很麻煩。
方式2.文字檔案比較小,但可能要有個額外的檔案儲存座標(x, y),計算會非常累。
或是,請教是否有這兩種方式以外的做法呢?
謝謝。
Bleed
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.241.159
→ bleed1979:目前成功地實作出方式1.效果也符合預期,似乎比較簡單。 11/03 16:58
推 NDark:這叫2D特效.一整排字的分段淡入淡出. 11/03 20:56
→ NDark:實體會存一份字串.顯示的時候再分段給值 11/03 20:57
→ bleed1979:我大概有點開竅,對於同樣的來源字串,知道字體大小, 11/03 21:53
→ bleed1979:來源矩形逐漸延伸要輸出的範圍應該就搞定了。 11/03 21:54
推 NDark:這種變化可多了..想像一下字分段燒成碎片飛出去要怎麼做(笑) 11/03 21:57