作者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
1F:→ bleed1979:目前成功地实作出方式1.效果也符合预期,似乎比较简单。 11/03 16:58
2F:推 NDark:这叫2D特效.一整排字的分段淡入淡出. 11/03 20:56
3F:→ NDark:实体会存一份字串.显示的时候再分段给值 11/03 20:57
4F:→ bleed1979:我大概有点开窍,对於同样的来源字串,知道字体大小, 11/03 21:53
5F:→ bleed1979:来源矩形逐渐延伸要输出的范围应该就搞定了。 11/03 21:54
6F:推 NDark:这种变化可多了..想像一下字分段烧成碎片飞出去要怎麽做(笑) 11/03 21:57