和歌が、だんだんと表示されるように調整
@@ -95,10 +95,8 @@ | ||
95 | 95 | |
96 | 96 | if state_ == DisplayWaka then |
97 | 97 | -- 和歌の入力中 |
98 | + display_percent_ = 100.0 * stop_watch_:ticks() / 13000.0 | |
98 | 99 | |
99 | - -- !!! display_percent_ を時間で増加させる | |
100 | - -- !!! stop_watch_:ticks() | |
101 | - | |
102 | 100 | --if true then |
103 | 101 | --if false then |
104 | 102 | if not input_completed_ then |
@@ -117,6 +115,11 @@ | ||
117 | 115 | utf8_text:pop_back() |
118 | 116 | converted_text_ = utf8_text:c_str() |
119 | 117 | 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 | |
120 | 123 | -- !!! ここまで |
121 | 124 | |
122 | 125 | -- 入力フォームの表示 |
@@ -155,9 +155,10 @@ | ||
155 | 155 | waka_text_[i] = nil |
156 | 156 | end |
157 | 157 | |
158 | + font_:setFontSize(WakaDrawSize) | |
158 | 159 | 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) | |
161 | 162 | waka_text_label_[i] = Label(waka_text_[i]) |
162 | 163 | waka_layer_:push_front(waka_text_label_[i]) |
163 | 164 | end |
@@ -194,8 +195,27 @@ | ||
194 | 195 | end |
195 | 196 | end |
196 | 197 | |
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 | |
199 | 219 | end |
200 | 220 | |
201 | 221 |
@@ -208,7 +228,8 @@ | ||
208 | 228 | waka_yomibito_label_ = nil |
209 | 229 | waka_yomibito_ = nil |
210 | 230 | |
211 | - waka_yomibito_ = TextSurface(font_, yomibito_data_[waka_id]) | |
231 | + waka_yomibito_ = TextFadeSurface(font_, yomibito_data_[waka_id]) | |
232 | + waka_yomibito_:setFadePercent(0.0) | |
212 | 233 | waka_yomibito_label_ = Label(waka_yomibito_) |
213 | 234 | |
214 | 235 | waka_layer_:push_front(waka_yomibito_label_) |
@@ -218,8 +239,9 @@ | ||
218 | 239 | WakaDrawHeight * 7 + OffsetY)) |
219 | 240 | end |
220 | 241 | |
221 | - -- !!! [%] を計算して表示 | |
222 | - -- !!! TextFadeSurface を作って取り込む | |
242 | + if percent >= 0 then | |
243 | + waka_yomibito_:setFadePercent(percent); | |
244 | + end | |
223 | 245 | end |
224 | 246 | |
225 | 247 |
@@ -18,7 +18,9 @@ | ||
18 | 18 | function practice_menu_set_waka() |
19 | 19 | -- 入力開始が最も遅い和歌を 1 つ含まれるようにする |
20 | 20 | -- !!! 残りを 乱数で配置後、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 } | |
22 | 24 | end |
23 | 25 | |
24 | 26 |