• R/O
  • SSH
  • HTTPS

hyakutyping: コミット


コミットメタ情報

リビジョン385 (tree)
日時2010-04-25 00:30:23
作者satofumi

ログメッセージ

和歌が、だんだんと表示されるように調整

変更サマリ

差分

--- trunk/cpp_lua/scripts/shimonoku_typing.lua (revision 384)
+++ trunk/cpp_lua/scripts/shimonoku_typing.lua (revision 385)
@@ -95,10 +95,8 @@
9595
9696 if state_ == DisplayWaka then
9797 -- 和歌の入力中
98+ display_percent_ = 100.0 * stop_watch_:ticks() / 13000.0
9899
99- -- !!! display_percent_ を時間で増加させる
100- -- !!! stop_watch_:ticks()
101-
102100 --if true then
103101 --if false then
104102 if not input_completed_ then
@@ -117,6 +115,11 @@
117115 utf8_text:pop_back()
118116 converted_text_ = utf8_text:c_str()
119117 end
118+ local utf8_text = Utf8(converted_text_)
119+ if utf8_text:size() > 10 then
120+ -- 文字数が長くなりすぎないようにする
121+ converted_text_ = utf8_text:substr(0, 10):c_str()
122+ end
120123 -- !!! ここまで
121124
122125 -- 入力フォームの表示
--- trunk/cpp_lua/scripts/display_waka.lua (revision 384)
+++ trunk/cpp_lua/scripts/display_waka.lua (revision 385)
@@ -155,9 +155,10 @@
155155 waka_text_[i] = nil
156156 end
157157
158+ font_:setFontSize(WakaDrawSize)
158159 for i = 1, 5 do
159- font_:setFontSize(WakaDrawSize)
160- waka_text_[i] = TextSurface(font_, waka_data_[waka_id][i])
160+ waka_text_[i] = TextFadeSurface(font_, waka_data_[waka_id][i])
161+ waka_text_[i]:setFadePercent(0.0)
161162 waka_text_label_[i] = Label(waka_text_[i])
162163 waka_layer_:push_front(waka_text_label_[i])
163164 end
@@ -194,8 +195,27 @@
194195 end
195196 end
196197
197- -- !!! [%] を計算して表示
198- -- !!! TextFadeSurface を作って取り込む
198+ -- 句の間に3文字ぶんの間があるとして、表示する
199+ local ku_ch = { 5, 7, 5, 7, 7 }
200+ local yomi_ma = 0
201+ local total_ch = 0
202+ for i = 1, 5 do
203+ total_ch = total_ch + ku_ch[i] + yomi_ma
204+ end
205+ local current_ch = total_ch * percent / 100.0
206+
207+ total_ch = 0
208+ for i = 1, 5 do
209+ if current_ch < ku_ch[i] then
210+ waka_text_[i]:setFadePercent(100 * (current_ch / ku_ch[i]))
211+ else
212+ waka_text_[i]:setFadePercent(100)
213+ end
214+ current_ch = current_ch - (ku_ch[i] + yomi_ma)
215+ if current_ch < 0 then
216+ break
217+ end
218+ end
199219 end
200220
201221
@@ -208,7 +228,8 @@
208228 waka_yomibito_label_ = nil
209229 waka_yomibito_ = nil
210230
211- waka_yomibito_ = TextSurface(font_, yomibito_data_[waka_id])
231+ waka_yomibito_ = TextFadeSurface(font_, yomibito_data_[waka_id])
232+ waka_yomibito_:setFadePercent(0.0)
212233 waka_yomibito_label_ = Label(waka_yomibito_)
213234
214235 waka_layer_:push_front(waka_yomibito_label_)
@@ -218,8 +239,9 @@
218239 WakaDrawHeight * 7 + OffsetY))
219240 end
220241
221- -- !!! [%] を計算して表示
222- -- !!! TextFadeSurface を作って取り込む
242+ if percent >= 0 then
243+ waka_yomibito_:setFadePercent(percent);
244+ end
223245 end
224246
225247
--- trunk/cpp_lua/scripts/practice_menu.lua (revision 384)
+++ trunk/cpp_lua/scripts/practice_menu.lua (revision 385)
@@ -18,7 +18,9 @@
1818 function practice_menu_set_waka()
1919 -- 入力開始が最も遅い和歌を 1 つ含まれるようにする
2020 -- !!! 残りを 乱数で配置後、ID の並びをシャッフルする
21- waka_id_array_ = { 1, 2, 3, 4, 5, 6 }
21+ -- !!! waka_handler の関数で処理する
22+ --waka_id_array_ = { 1, 2, 3, 4, 5, 6 }
23+ waka_id_array_ = { 1 }
2224 end
2325
2426
旧リポジトリブラウザで表示