看板 GameDesign 關於我們 聯絡資訊
[問題需求] 以打字機的方式在螢幕上秀出英文句子。 以句子中的每個詞為單位來打字。 [程式語言] 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