﻿1
00:00:04,190 --> 00:00:05,790
‫やあ､ お帰りなさい｡

2
00:00:05,810 --> 00:00:10,150
‫これで､ 実際のウィジェットにカウントダウンの時間を表示する準備ができました｡

3
00:00:10,160 --> 00:00:15,530
‫今のところ､ 残り時間がわかるようにprint stringノードを使うだけです｡

4
00:00:15,530 --> 00:00:18,950
‫しかし､ 実際にウィジェットにテキストを設定する必要があります｡

5
00:00:18,950 --> 00:00:23,150
‫そこで､ このビデオではウィジェットにカウントダウンの時間を表示することにします｡

6
00:00:23,180 --> 00:00:30,710
‫WP Start Game Widgetに戻り､ このウィジェットにテキストを追加しているのを確認しました｡

7
00:00:30,710 --> 00:00:37,930
‫そして､ テキストを動的に編集できるようにするために､ このテキストウィジェットで変更する必要がある点がいくつかあります｡

8
00:00:37,940 --> 00:00:41,840
‫まず､ ここで選択されているテキストウィジェットでやってみたいと思います｡

9
00:00:41,840 --> 00:00:50,000
‫この詳細パネルでは､ このテキストの名前があり､ デフォルトの名前に設定されていますが､ これはあまり説明的ではありません｡

10
00:00:50,000 --> 00:01:01,310
‫そこで､ このテキストブロックの右隣にある､ 変数であるというチェックボックスの名前を変更し､ これを表示テキストと呼ぶことにします｡

11
00:01:01,340 --> 00:01:02,960
‫今はチェックされていない｡

12
00:01:02,960 --> 00:01:09,770
‫そして､ イベントグラフのセクションに戻ると､ ここにはこのテキストウィジェットが変数として表示されていないことがわかります｡

13
00:01:09,770 --> 00:01:15,950
‫しかし､ デザイナーに戻って､ このテキストボックスが変数であることをチェックすると､ グラフに戻ったときに､

14
00:01:15,950 --> 00:01:23,300
‫表示テキストが変数セクションに表示されていることがわかります｡ クリック＆ドラッグして､ ここに表示テキストを取得をクリックすると､

15
00:01:23,300 --> 00:01:29,810
‫このノードにアクセスできるようになり､ テキストを変更できるようになります｡

16
00:01:29,810 --> 00:01:36,110
‫では､ これをswitch文のCase3までドラッグして､ 文字列を表示させたいと思います｡

17
00:01:36,110 --> 00:01:42,650
‫印刷文字列を使用する代わりに､ テキスト・ウィジェットのテキストを設定したいと思います｡

18
00:01:42,650 --> 00:01:48,380
‫そのためには､ 出力ペンからドラッグして､ テキストを設定と入力します｡

19
00:01:48,380 --> 00:01:52,700
‫そして､ ここに括弧内のテキストを設定したテキストノードが表示されます｡

20
00:01:52,700 --> 00:01:58,700
‫これをクリックすると､ set textノードが表示され､ ここにin textという入力があります｡

21
00:01:58,700 --> 00:02:07,610
‫テキストボックスをクリックして､ テキストに設定したい値をハードコードすることもできます｡

22
00:02:07,640 --> 00:02:09,440
‫だから､ 私はget readyと打つつもりです｡

23
00:02:09,440 --> 00:02:20,930
‫そして､ このプリント文字列を使うのではなく､ そのプリント文字列を削除して､ ケース3の実行ワイヤーをセットテキストノードの入力実行ピンにドラッグすることにします｡

24
00:02:20,930 --> 00:02:27,770
‫これでコンパイルして再生を押すと､ Get readyと表示され､ 以前と同じテキストになっているのがわかります｡

25
00:02:27,770 --> 00:02:34,250
‫そのため､ 見た目は変わりませんが､ set textノードのテキストを使用していることが証明できます｡

26
00:02:34,250 --> 00:02:37,520
‫これを変更することで､ 2つの感嘆符を追加することになります｡

27
00:02:37,520 --> 00:02:38,780
‫だから､ 3人いるんです｡

28
00:02:38,780 --> 00:02:42,380
‫そして今､ 再生ボタンを押すと､ 感嘆符が3つ表示されます｡

29
00:02:42,380 --> 00:02:47,690
‫つまり､ このノードは実際にテキスト・ウィジェットのテキストを設定しているのです｡

30
00:02:47,990 --> 00:02:54,590
‫そこで､ switch文の3つのケースごとに異なるメッセージを印刷できるようにテキストを設定することに挑戦します｡

31
00:02:54,590 --> 00:03:05,390
‫get ready forのままにしておけば､ print oneとfor zeroで画面にテキストを印刷することができます｡

32
00:03:05,390 --> 00:03:16,910
‫デフォルトの場合､ つまり時間がない場合は､ 空の文字列をプリントしてください｡

33
00:03:16,910 --> 00:03:23,150
‫そこで､ ビデオを一時停止して､ それらのプリント文字列を削除し､ 設定されたテキストノードに置き換えます｡

34
00:03:23,150 --> 00:03:26,870
‫そして､ set textノードに入力を差し込むことを忘れないでください｡

35
00:03:26,900 --> 00:03:29,820
‫テキストウィジェットの値｡

36
00:03:29,840 --> 00:03:32,240
‫ビデオを一時停止して､ 今すぐ実行します｡

37
00:03:36,200 --> 00:03:41,480
‫そこで､ このセットテキストノードを使用したいと思います｡ これらのノードを両方ともハイライトして､ 両方とも選択された状態にして､

38
00:03:41,480 --> 00:03:43,280
‫controlを押します｡

39
00:03:43,280 --> 00:03:47,840
‫D それをコピーして､ ゼロのケースを使うために｡

40
00:03:47,840 --> 00:03:51,290
‫これをそのままset textノードにフックしてみます｡

41
00:03:51,290 --> 00:04:01,550
‫そして､ 印刷文字列でgoを印刷するのではなく､ テキストをgoに設定することでgoを印刷し､ 今度はこの印刷文字列を削除することができるのです｡

42
00:04:01,580 --> 00:04:05,600
‫さて､ ケース1とケース2のテキストを設定する必要があります｡

43
00:04:05,600 --> 00:04:15,650
‫そこで､ このセットテキストノードをコピーして､ 1つのケースをフックして､ 単純に1つをプリントして､ そのプリント文字列を削除します｡

44
00:04:15,650 --> 00:04:21,920
‫次に､ これらのノードを邪魔にならないように移動して､ 別のテキストセットノードを追加し､ このノードに2を接続して､

45
00:04:21,920 --> 00:04:25,970
‫2をテキストとして使用することができるようにします｡

46
00:04:25,970 --> 00:04:33,740
‫そして､ そのプリント文字列を削除し､ 最後にスタートゲームを空の文字列に置き換えることができるのです｡

47
00:04:33,740 --> 00:04:42,260
‫そこで､ デフォルトを別の設定テキストにフックして､ 単純にテキストなしを使用し､ テキストを何も設定しないようにします｡

48
00:04:42,260 --> 00:04:52,010
‫では､ そのprint文字列を削除して､ コンパイルして再生してみると､ カウントダウンタイマーがあり､ ゲームが始まると同時に消えてしまいます｡

49
00:04:52,010 --> 00:04:54,390
‫それこそが､ 私たちの狙いだったわけです｡

50
00:04:54,410 --> 00:04:55,910
‫さて､ 2つほど｡

51
00:04:55,910 --> 00:05:01,070
‫一つは､ デザイナータブに戻り､ テキストを選択した状態で下にスクロールしてみる｡

52
00:05:01,070 --> 00:05:07,220
‫外観をスクロールしてみると､ このようにジャスティフィケーションがあり､ 左寄せになっていることがわかります｡

53
00:05:07,220 --> 00:05:12,200
‫そのため､ 2と1が少し左寄りに印刷されます｡

54
00:05:12,200 --> 00:05:19,790
‫しかし､ 今､ 行のテキストセンターを選択し､ 再生を押すと､ テキストが真ん中に整列しているのがわかる｡

55
00:05:19,940 --> 00:05:22,790
‫これで､ テキストに影をつけることができます｡

56
00:05:22,820 --> 00:05:24,680
‫ここでは､ シャドウカラーを見てみましょう｡

57
00:05:24,680 --> 00:05:28,820
‫それを選択すると､ テキストに独自の影をつけることができます｡

58
00:05:28,850 --> 00:05:36,200
‫アルファは0に設定されていますが､ 1までドラッグすると､ 影ができ､ テキストに黒い影ができます｡

59
00:05:36,200 --> 00:05:42,020
‫再生ボタンをクリックすると､ 影によってテキストが少し見えるようになっているのがわかります｡

60
00:05:42,020 --> 00:05:43,040
‫だから､ これはすごいことなんです｡

61
00:05:43,040 --> 00:05:49,910
‫グラフタブに戻り､ カウントダウン時間に基づいてテキストを設定していることを確認しましょう｡

62
00:05:49,910 --> 00:05:57,500
‫TICイベントと連動しているため､ ゲームのすべてのフレームで､ この現象が発生しています｡

63
00:05:57,500 --> 00:06:04,400
‫しかし､ 実はこのウィジェットは､ 3秒が過ぎると存在すら不要になるのです｡

64
00:06:04,400 --> 00:06:15,230
‫もし､ このウィジェット全体を取り除き､ 削除する方法があれば､ 単にテキストを空文字列に設定するよりも理想的でしょう｡

65
00:06:15,440 --> 00:06:23,450
‫そこで､ テキストを設定する代わりに､ このウィジェットをビューポートから削除することができます｡

66
00:06:23,450 --> 00:06:28,160
‫そのためには､ remove from parentというノードを使います｡

67
00:06:28,160 --> 00:06:34,100
‫そこで､ remove from parentノードを作成し､ set textノードを削除します｡

68
00:06:34,100 --> 00:06:40,070
‫そして､ デフォルトのケース､ つまり3秒が経過したときに､ このノードによってウィジェットが削除され､

69
00:06:40,070 --> 00:06:47,480
‫ウィジェットがなくなるので､ このティック機能は何も起きなくなります｡

70
00:06:47,480 --> 00:06:54,470
‫つまり､ タイマーが終了してプレイヤーがゲームを始められるようになったら､ ウィジェットを削除する処理を行うわけです｡

71
00:06:54,620 --> 00:07:01,880
‫そこで､ ウィジェットにカウントダウンの時間を表示するようにしました｡ つまり､ いつゲームが始まり､ どれくらいの時間が経てばプレイヤーが戦車を動かせるようになるのかが､

72
00:07:01,880 --> 00:07:07,640
‫とてもわかりやすくなったのです｡

73
00:07:07,640 --> 00:07:08,690
‫これはすごいことです｡

74
00:07:08,960 --> 00:07:10,820
‫そこで､ セクションプランに戻ります｡

75
00:07:10,820 --> 00:07:15,380
‫世界中を移動し､ 入力に対応できる我々の戦車が出来上がったと見ています｡

76
00:07:15,410 --> 00:07:23,090
‫C++でTowerという敵の砲台クラスを作成し､ 投射物による射撃機能を追加しました｡

77
00:07:23,090 --> 00:07:27,650
‫私たちのゲームには､ ヘルスとダメージだけでなく､ 破壊もあります｡

78
00:07:27,650 --> 00:07:34,040
‫さて､ まだ特殊効果を加える必要がありますし､ HUD表示を使ってゲームの勝敗を示す必要がありますが､

79
00:07:34,040 --> 00:07:37,280
‫ここまででHUD表示の使い方を確認しました｡

80
00:07:37,280 --> 00:07:39,740
‫だから､ これは比較的簡単な作業であるはずだ｡

81
00:07:39,740 --> 00:07:42,290
‫というわけで､ このゲームもあと少しで終了です｡

82
00:07:42,350 --> 00:07:43,640
‫おめでとうございます｡

83
00:07:43,640 --> 00:07:45,410
‫次の動画でお会いしましょう｡

