﻿1
00:00:04,040 --> 00:00:05,520
‫やあ､ お帰りなさい｡

2
00:00:05,540 --> 00:00:10,250
‫このビデオでは､ 勝ち負けの条件を表示するためのウィジェットを作成します｡

3
00:00:10,250 --> 00:00:11,540
‫では､ さっそく飛び込んでみましょう｡

4
00:00:11,540 --> 00:00:15,530
‫これでウィジェットができたので､ ゲームウィジェットを起動します｡

5
00:00:15,530 --> 00:00:19,220
‫これを開くと､ この準備のためのテキストがあることがわかります｡

6
00:00:19,220 --> 00:00:23,210
‫そして､ イベントグラフでは､ イベントテックで設定しています｡

7
00:00:23,210 --> 00:00:29,030
‫さて､ このようなことはさておき､ designerタブにあるものは､ まさにゲームオーバーのテキストに必要なものなので､

8
00:00:29,030 --> 00:00:34,130
‫このブループリントを複製して､ いくつかの点を変更することができます｡

9
00:00:34,130 --> 00:00:41,030
‫コンテンツブラウザで､ このWP Start Game Widget Blueprintを右クリックし､

10
00:00:41,030 --> 00:00:43,250
‫複製します｡

11
00:00:43,370 --> 00:00:46,490
‫ここで､ このウィジェットの新しい名前を決める必要があります｡

12
00:00:46,490 --> 00:00:50,180
‫スタートゲームウィジェットではなく､ エンドゲームウィジェットと呼ぶことにします｡

13
00:00:50,180 --> 00:00:54,410
‫そこで､ これを改名して､ 「WPP End Game Widget」としました｡

14
00:00:54,410 --> 00:01:04,220
‫これをダブルクリックして､ 同じテキストを用意し､ ディスプレイテキストと呼ばれる変数に設定します｡

15
00:01:04,220 --> 00:01:12,290
‫このブループリント・ロジックは不要なので､ すべてハイライトして削除します｡

16
00:01:12,290 --> 00:01:15,110
‫実は､ このカウントダウンという変数は削除してもいいのです｡

17
00:01:15,110 --> 00:01:19,520
‫ここで変数を選択してdeleteキーを押せば､ いつでも変数を削除することができます｡

18
00:01:19,520 --> 00:01:21,380
‫では､ 表示テキストを残しておきましょう｡

19
00:01:21,380 --> 00:01:23,930
‫それが必要なので､ コンパイルをクリックします｡

20
00:01:23,930 --> 00:01:28,190
‫そして､ このウィジェットにテキストを設定する方法を考えなければなりません｡

21
00:01:28,220 --> 00:01:30,530
‫では､ ゲームモードの設計図を見てみましょう｡

22
00:01:30,560 --> 00:01:32,960
‫ここでイベントゲームオーバーです｡

23
00:01:32,960 --> 00:01:36,470
‫ここで､ ウィジェットをビューポートに追加することができます｡

24
00:01:36,470 --> 00:01:42,440
‫そこで､ これらのノード､ print stringとbool to text conversionノードをハイライトして削除し､

25
00:01:42,440 --> 00:01:49,070
‫create widgetノードを使用して新しいendgameウィジェットをビューポートに追加することにします｡

26
00:01:49,070 --> 00:01:54,830
‫そこで､ create widgetというタイプをドラッグオフして､ create widgetノードを取得することにします｡

27
00:01:54,830 --> 00:01:58,970
‫さて､ 授業の方は､ end game widgetを選択します｡

28
00:01:58,970 --> 00:02:05,000
‫これでWPPエンドゲームウィジェットができたので､ 次はこれをビューポートに追加します｡

29
00:02:05,000 --> 00:02:11,360
‫そこで､ 出力実行ピンからクリック＆ドラッグして､ add to viewportと入力します｡

30
00:02:11,360 --> 00:02:19,130
‫そして､ 忘れてはならないのは､ create widgetの戻り値をviewportに追加するためのターゲットに差し込む必要があることです｡

31
00:02:19,130 --> 00:02:26,420
‫ゲームオーバーのブループリントの実装イベントが呼び出されると同時に､ このウィジェットがビューポートに追加されるわけです｡

32
00:02:26,420 --> 00:02:33,200
‫さて､ 最後にすることは､ ゲームに勝ったかどうかに基づいてテキストを設定することです｡ これは､ イベントgame

33
00:02:33,200 --> 00:02:37,040
‫overからこのブール値を取得しているので分かっています｡

34
00:02:37,040 --> 00:02:41,240
‫だから､ 試合に勝った後にどうするかを考えなければならない｡

35
00:02:41,240 --> 00:02:46,970
‫これで､ set textノードを使えば､ 特定のウィジェットのテキストを設定できることがわかりました｡

36
00:02:46,970 --> 00:02:53,690
‫ウィジェット設計図では､ display textと呼ばれるテキストウィジェットにアクセスできるようにする必要があります｡

37
00:02:53,690 --> 00:03:01,370
‫つまり､ Create Widgetブループリントの戻り値は､ WPPエンドゲーム・ウィジェット・オブジェクトの参照を返し､

38
00:03:01,370 --> 00:03:06,500
‫そのウィジェット内の変数にアクセスするために使用することができるのです｡

39
00:03:06,500 --> 00:03:15,290
‫そこで､ 戻り値からクリックしてドラッグオフし､ display textと入力してみましょう｡

40
00:03:15,290 --> 00:03:17,090
‫Nodeにセットされたテキストを利用することができます｡

41
00:03:17,090 --> 00:03:24,710
‫そこで､ display textからoutputをクリックし､ ドラッグして離し､ set textと入力すると､ set text､ parentheses､

42
00:03:24,710 --> 00:03:28,760
‫textがここのオプションであることが確認できます｡

43
00:03:28,760 --> 00:03:34,460
‫エンドゲームウィジェットをビューポートに追加した後､ 実行ピンをセットテキストノードに接続して､

44
00:03:34,460 --> 00:03:40,760
‫表示テキストのテキスト値を設定します｡

45
00:03:40,760 --> 00:03:50,420
‫とりあえず､ game overと入力して､ コンパイルして､ プレイテストして､ ウィジェットが画面に表示されるかどうか確認します｡

46
00:03:50,420 --> 00:03:55,700
‫だから､ このタレットに殺されて､ ゲームオーバーになるのが目に見えているんだ｡

47
00:03:55,700 --> 00:03:57,890
‫でも､ 私にとっては､ それだけではちょっと物足りないんです｡

48
00:03:57,890 --> 00:04:01,010
‫ゲームの勝ち負けを確認したい｡

49
00:04:01,010 --> 00:04:09,710
‫さて､ このテキスト値の設定方法については､ さまざまな方法があり､ 思い当たる節があるのではないでしょうか｡

50
00:04:09,710 --> 00:04:15,050
‫実際､ ビデオを一時停止して､ 自分で実装できるかどうかを確認するのもよいでしょう｡

51
00:04:15,050 --> 00:04:20,300
‫だから､ もしあなたがチャレンジしたいと思ったら､ 今すぐビデオを一時停止して､ これがわかるかどうか見てください｡

52
00:04:23,330 --> 00:04:23,720
‫なるほど｡

53
00:04:23,720 --> 00:04:26,330
‫だから､ これがわかったら､ おめでとうございます｡

54
00:04:26,330 --> 00:04:29,180
‫ゲームオーバーウィジェットを実装していますね｡

55
00:04:29,210 --> 00:04:33,050
‫さて､ これから特殊なノードを紹介します｡

56
00:04:33,050 --> 00:04:38,400
‫そして､ 見たことがないかもしれませんが､ このノードをセレクトノードと呼びます｡

57
00:04:38,420 --> 00:04:41,150
‫右クリックでselectと入力します｡

58
00:04:41,150 --> 00:04:46,430
‫そして､ selectすると､ インデックスを取るこのノードがあります｡

59
00:04:46,430 --> 00:04:53,450
‫インデックスは､ 何が選択され､ 戻り値として返されるかを決定する値である｡

60
00:04:53,450 --> 00:05:02,720
‫そして､ ドロップダウンをクリックしてbooleanを選択し､ 戻り値については右クリックしてchange pin typeを選択することができます｡

61
00:05:02,720 --> 00:05:10,220
‫そして､ Wild Cardというドロップダウンが表示され､ これをテキストなどの別のタイプの出力値に変更することができます｡

62
00:05:10,220 --> 00:05:20,360
‫テキストを選択すると､ この選択ノードには､ trueとfalseの入力と､ ブール値のindexがあります｡

63
00:05:20,360 --> 00:05:24,680
‫そして､ true falseとreturnの値はテキスト値である｡

64
00:05:24,680 --> 00:05:27,080
‫これらは､ textデータ型を持つ｡

65
00:05:27,380 --> 00:05:43,640
‫つまり､ ブーリアン値を入力すると､ その戻り値はインデックスの値によって異なるということです｡

66
00:05:43,640 --> 00:05:52,820
‫booleanの値がtrueの場合､ selectノードのtrue入力に応じたテキスト値を返します｡

67
00:05:52,820 --> 00:05:57,050
‫そして､ もしfalseなら､ falseの入力に割り当てられた値を取得することになる｡

68
00:05:57,080 --> 00:06:05,750
‫これらはtrueとfalseの入力ピンなので､ テキスト値を直接プラグインすることもできますし､ テキストボックスにハードコードすることもできます｡

69
00:06:05,750 --> 00:06:11,480
‫例えば､ falseならyou lost､ trueならyou wonとテキストを打ち込むことができる｡

70
00:06:11,480 --> 00:06:16,550
‫そして､ このselectノードから返されるものは､ この入力インデックスに依存する｡

71
00:06:16,550 --> 00:06:20,000
‫もしそれが真であれば､ 戻り値はu 1になる｡

72
00:06:20,000 --> 00:06:23,060
‫そして､ もしそれが偽りであれば､ あなたを迷わせることになります｡

73
00:06:23,090 --> 00:06:29,570
‫そこで､ まだ解決策を実行していない方は､ selectノードを使って実行してみてほしい｡

74
00:06:29,570 --> 00:06:33,440
‫そこで､ selectノードを使用して､ falseテキストをあなたに設定します｡

75
00:06:33,440 --> 00:06:34,080
‫失われた｡

76
00:06:34,100 --> 00:06:43,520
‫trueテキストをyou oneに設定し､ ブループリントから得られるゲームオーバー・イベントから得られるplayer one booleanをフックしてください｡

77
00:06:43,520 --> 00:06:45,680
‫実施可能なイベント ゲームオーバー｡

78
00:06:45,710 --> 00:06:53,450
‫これが終わったら､ set text を使ってウィジェットのテキストを設定し､ ビデオを一時停止して､ 今すぐ実装してください｡

79
00:06:56,900 --> 00:06:57,230
‫なるほど｡

80
00:06:57,230 --> 00:07:05,870
‫そこで､ selectを用意し､ booleanであるindexをフックする必要があります｡ また､ イベントgame overから1つのゲームを使用するつもりです｡

81
00:07:06,080 --> 00:07:13,500
‫さて､ この入力ブール値に基づき､ インデックスが真か偽かによって異なる戻り値を得ることになる｡

82
00:07:13,520 --> 00:07:19,160
‫もし本当なら､ 感嘆符を3つ付けて印刷してあげたいくらいです｡

83
00:07:19,160 --> 00:07:24,530
‫そして､ もしそれが偽りであれば､ 感嘆符ひとつであなたの負けをプリントアウトしてあげたい｡

84
00:07:24,650 --> 00:07:26,120
‫今度は戻り値です｡

85
00:07:26,150 --> 00:07:28,760
‫set textノードにフックしてみる｡

86
00:07:28,760 --> 00:07:33,970
‫そして今､ 私たちは､ あなたが負けたか､ あなたが勝ったかによって､ ゲームを見るべきでしょう｡

87
00:07:33,980 --> 00:07:39,260
‫だからコンパイルで､ プレイを押して､ まずは勝負に出ようと思っています｡

88
00:07:39,260 --> 00:07:41,450
‫だから､ 負けないように必死で頑張ります｡

89
00:07:41,480 --> 00:07:43,220
‫最初の1秒がある｡

90
00:07:43,250 --> 00:07:43,850
‫これでよしとしよう｡

91
00:07:43,850 --> 00:07:45,230
‫そして､ 私は勝ったんですね｡

92
00:07:45,680 --> 00:07:50,570
‫これで､ 負け条件を試すことができるようになりました｡

93
00:07:50,570 --> 00:07:52,370
‫2回撃たれればいいんです｡

94
00:07:53,040 --> 00:07:54,030
‫あるんです｡

95
00:07:55,070 --> 00:07:56,180
‫しかも､ 2つもある｡

96
00:07:56,180 --> 00:08:00,680
‫そして､ 私の戦車が消え､ ゲームに負けたことがわかると思います｡

97
00:08:00,890 --> 00:08:01,790
‫完璧です｡

98
00:08:02,150 --> 00:08:05,960
‫これで勝ち負けの条件が整ったわけです｡

99
00:08:06,290 --> 00:08:14,520
‫まとめると､ プレイヤーにゲームオーバーの状態を表示し､ それをテキストウィジェットの形で表示しているわけです｡

100
00:08:14,540 --> 00:08:19,670
‫ゲームとして機能するようになったので､ これは大きなマイルストーンです｡

101
00:08:19,700 --> 00:08:22,310
‫残るは特撮だけ｡

102
00:08:22,310 --> 00:08:27,800
‫効果音も必要ですし､ 爆発効果や武器の軌跡なども必要です｡

103
00:08:27,800 --> 00:08:34,120
‫ということで､ これからの動画では､ そういったエフェクトを加えて､ ゲーム全体に磨きをかけて､ このゲームをまとめていきたいと思います｡

104
00:08:34,130 --> 00:08:36,440
‫というわけで､ このセクションはほぼ終了です｡

105
00:08:36,470 --> 00:08:39,620
‫素晴らしい仕事です｡ 次のビデオでお会いしましょう｡

