Skip to content

Commit 8713aaf

Browse files
committed
アナログ時計とデジタル時計の解説を分離
1 parent f233f86 commit 8713aaf

3 files changed

Lines changed: 77 additions & 64 deletions

File tree

docs/clock.md

Lines changed: 1 addition & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -208,69 +208,7 @@ for (var i = 0; i < steps; i++) {
208208
- [サンプル](http://book.mynavi.jp/wd/sampledata/201503view/flash4html5/sample_3/clock_watch.html)
209209

210210

211-
## デジタル時計の作り方
212-
213-
デジタル時計の作り方ですが、`createjs.Text`クラスを使います。見栄えはさておき、現在時刻を表示させてみましょう。
214-
215-
![](../imgs/clock_digital_simple.html.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-
時・分・秒の文字列を結合したい場合は`+`演算子を使って記述します。コロン(:)は文字列として表示させたい場合は、ダブルクオテーションを使って`":"`と記述します。
239-
240-
```js
241-
// 現在時間を取得
242-
var now = new Date();
243-
244-
// 時間の数値を取得
245-
var h = now.getHours(); // 時(0〜23)
246-
var m = now.getMinutes(); // 分(0〜59)
247-
var s = now.getSeconds(); // 秒(0〜59)
248-
249-
// 表示文言を作成
250-
var time = h + ":" + m + ":" + s;
251-
// Text インスタンスの文字列を更新
252-
label.text = time;
253-
```
254-
255-
256-
ありがちな失敗例も紹介しましょう。`tick`イベントで`createjs.Text`インスタンスを追加し続けると、残像効果のような表示になってしまいます。文言を変化させたいときは`text`プロパティーを更新するようにしましょう。
257-
258-
259-
失敗例のコード
260-
261-
```js
262-
// 時間経過のイベント
263-
createjs.Ticker.addEventListener("tick", handleTick);
264-
function handleTick() {
265-
// (省略)
266-
// Text インスタンスを作成
267-
var label = new createjs.Text(◯◯◯, "80px sans-serif", "red");
268-
stage.addChild(label);
269-
// (省略)
270-
}
271-
```
272-
273-
![](../imgs/clock_digital_simple_miss.html.png)
211+
[デジタル時計の記事へ](clock_digital.md)
274212

275213

276214
<article-author>[池田 泰延](https://twitter.com/clockmaker)</article-author>

docs/clock_digital.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# CreateJS でデジタル時計の開発に挑戦しよう
2+
3+
デジタル時計の作成を通して、CreateJSの理解を深めましょう。
4+
5+
## テキストの表示
6+
7+
デジタル時計の作り方ですが、`createjs.Text`クラスを使います。見栄えはさておき、現在時刻を表示させてみましょう。
8+
9+
![](../imgs/clock_digital_simple.html.png)
10+
11+
- [サンプルを再生する](https://ics-creative.github.io/tutorial-createjs/samples/clock_digital_simple.html)
12+
- [サンプルのソースコードを確認する](../samples/clock_digital_simple.html)
13+
14+
ポイントとしては、`createjs.Text`インスタンスは一度だけ作成し、そのインスタンスの`text`プロパティーを変更することです。詳しくは[テキストの解説](text.md)の「テキストの文言を変更する」段落を参照ください。
15+
16+
```js
17+
// Text インスタンスを作成
18+
var label = new createjs.Text("", "80px sans-serif", "red");
19+
// Text インスタンスは一度だけしか stage に追加しない
20+
stage.addChild(label);
21+
22+
// 時間経過のイベント
23+
createjs.Ticker.addEventListener("tick", handleTick);
24+
function handleTick() {
25+
// (省略)
26+
// Text インスタンスの文字列を更新
27+
label.text = ◯◯◯;
28+
// (省略)
29+
}
30+
```
31+
32+
時・分・秒の文字列を結合したい場合は`+`演算子を使って記述します。コロン(:)は文字列として表示させたい場合は、ダブルクオテーションを使って`":"`と記述します。
33+
34+
```js
35+
// 現在時間を取得
36+
var now = new Date();
37+
38+
// 時間の数値を取得
39+
var h = now.getHours(); // 時(0〜23)
40+
var m = now.getMinutes(); // 分(0〜59)
41+
var s = now.getSeconds(); // 秒(0〜59)
42+
43+
// 表示文言を作成
44+
var time = h + ":" + m + ":" + s;
45+
// Text インスタンスの文字列を更新
46+
label.text = time;
47+
```
48+
49+
50+
ありがちな失敗例も紹介しましょう。`tick`イベントで`createjs.Text`インスタンスを追加し続けると、残像効果のような表示になってしまいます。文言を変化させたいときは`text`プロパティーを更新するようにしましょう。
51+
52+
53+
失敗例のコード
54+
55+
```js
56+
// 時間経過のイベント
57+
createjs.Ticker.addEventListener("tick", handleTick);
58+
function handleTick() {
59+
// (省略)
60+
// Text インスタンスを作成
61+
var label = new createjs.Text(◯◯◯, "80px sans-serif", "red");
62+
stage.addChild(label);
63+
// (省略)
64+
}
65+
```
66+
67+
![](../imgs/clock_digital_simple_miss.html.png)
68+
69+
70+
[アナログ時計の記事へ](clock_digital.md)
71+
72+
<article-author>[池田 泰延](https://twitter.com/clockmaker)</article-author>
73+
<article-date-published>2016-10-24</article-date-published>
74+
<article-date-modified>2016-10-24</article-date-modified>

docs/index.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ webのリッチコンテンツを作るためのフレームワーク「CreateJS
6464

6565
ここまで学習した内容の理解を深めるべく、サンプル制作に挑戦ください。まずは自分でコードを書いていくといいでしょう。困ったら完成形のサンプルのコードを参照してください。
6666

67+
- [デジタル時計の作成](clock_digital.md)
6768
- [アナログ時計の作成](clock.md)
6869
- [パズル](game_pazzle.md)
6970

@@ -138,4 +139,4 @@ CreateJS入門サイトでAnimate CCを扱うのには理由があります。An
138139

139140
<article-author>[池田 泰延](https://twitter.com/clockmaker)</article-author>
140141
<article-date-published>2015-11-22</article-date-published>
141-
<article-date-modified>2016-10-18</article-date-modified>
142+
<article-date-modified>2016-10-24</article-date-modified>

0 commit comments

Comments
 (0)