@@ -201,12 +201,61 @@ for (var i = 0; i < steps; i++) {
201201}
202202```
203203
204- いかがでしたでしょうか。 目盛りをより細かく描くと機械式時計のような細かい円盤をデザインすることができます。ここで紹介した方法を工夫してぜひオリジナルの時計の表現にチャレンジしてみてください。
204+ 目盛りをより細かく描くと機械式時計のような細かい円盤をデザインすることができます。ここで紹介した方法を工夫してぜひオリジナルの時計の表現にチャレンジしてみてください。
205205
206206書籍[ 「Flash for HTML5 ―HTML5開発環境としてのFlash Professional CC活用テクニック」] ( http://www.amazon.co.jp/dp/B014VWO2BU ) では、このグラフィックの作り方を紹介しています。
207207
208208- [ サンプル] ( http://book.mynavi.jp/wd/sampledata/201503view/flash4html5/sample_3/clock_watch.html )
209209
210+
211+ ## デジタル時計の作り方
212+
213+ デジタル時計の作り方ですが、` createjs.Text ` クラスを使います。
214+
215+ ![ ] ( ../imgs/clock_digital_simple.png )
216+
217+ - [ サンプルを再生する] ( https://ics-creative.github.io/tutorial-createjs/samples/clock_digital_simple.html )
218+ - [ サンプルのソースコードを確認する] ( ../samples/clock_digital_simple.html )
219+
220+ ポイントとしては、` createjs.Text ` インスタンスは一度だけ作成し、そのインスタンスの` text ` プロパティーを変更することで変化させます。詳しくは[ テキストの解説] ( text.md ) を参照ください。
221+
222+ ``` js
223+ // Text インスタンスを作成
224+ var label = new createjs.Text (" " , " 80px sans-serif" , " red" );
225+ // Text インスタンスは一度だけしか stage に追加しない
226+ stage .addChild (label);
227+
228+ // 時間経過のイベント
229+ createjs .Ticker .addEventListener (" tick" , handleTick);
230+ function handleTick () {
231+ // (省略)
232+ // Text インスタンスの文字列を更新
233+ label .text = ◯◯◯;
234+ // (省略)
235+ }
236+ ```
237+
238+ ありがちな失敗例として、` tick ` イベントで` createjs.Text ` インスタンスを追加し続けていたら、残像効果のような表示になってしまいます。
239+
240+
241+ 失敗例のコード
242+
243+ ``` js
244+ // 時間経過のイベント
245+ createjs .Ticker .addEventListener (" tick" , handleTick);
246+ function handleTick () {
247+ // (省略)
248+ // Text インスタンスを作成
249+ var label = new createjs.Text (" " , " 80px sans-serif" , " red" );
250+ // Text インスタンスは一度だけしか stage に追加しない
251+ stage .addChild (label);
252+ // (省略)
253+ }
254+ ```
255+
256+ ![ ] ( ../imgs/clock_digital_simple_miss.png )
257+
258+
210259<article-author >[ 池田 泰延] ( https://twitter.com/clockmaker ) </article-author >
211260<article-date-published >2015-11-30</article-date-published >
212- <article-date-modified >2016-07-20 </article-date-modified >
261+ <article-date-modified >2016-10-24 </article-date-modified >
0 commit comments