﻿1
00:00:04,490 --> 00:00:05,540
‫こんにちは､ ようこそ｡

2
00:00:05,540 --> 00:00:09,260
‫この講義では､ 変数を使って弾薬の量を記録していきます｡

3
00:00:09,260 --> 00:00:18,350
‫左上を見ると､ 弾薬の値を教えてくれていて､ 発射するたびにその値が減っていくのがわかると思います｡

4
00:00:18,350 --> 00:00:21,860
‫それでは､ 変数がどのように私たちを助けてくれるのか､ 見ていきましょう｡

5
00:00:22,460 --> 00:00:27,380
‫そこで､ 弾薬を記録するために変数が必要になります｡

6
00:00:27,380 --> 00:00:28,700
‫では､ 私たちの変数は何でしょうか？

7
00:00:28,700 --> 00:00:33,440
‫変数は､ 情報の保存､ 操作､ 参照に役立ちます｡

8
00:00:33,440 --> 00:00:37,640
‫そして､ 私たちにとって最も重要なのは､ その情報の保存になります｡

9
00:00:37,640 --> 00:00:41,870
‫つまり､ 弾薬と銘打った箱のようなものですね｡

10
00:00:41,870 --> 00:00:47,540
‫その中に20などの値を入れると､ 弾薬の残量がわかります｡

11
00:00:47,540 --> 00:00:49,820
‫だから､ それぞれの変数には名前が必要なのです｡

12
00:00:49,820 --> 00:00:56,420
‫それはデータ値20のようないくつかのデータを含み､ 決定的なのは､ 各変数が特定の型であることです｡

13
00:00:56,420 --> 00:01:03,020
‫つまり､ この場合､ 弾薬箱は整数を含んでいるので､ 整数と言えるのです｡

14
00:01:03,020 --> 00:01:07,880
‫弾薬が半分になることはありえないので､ 整数になるのは理にかなっています｡

15
00:01:08,030 --> 00:01:13,010
‫さて､ blueprintで変数を作るにはどうしたらいいでしょうか｡

16
00:01:13,010 --> 00:01:17,990
‫それでは､ ブループリント・パネルに移動して､ 詳細ペインを閉じましょう｡

17
00:01:17,990 --> 00:01:19,550
‫なぜか開いているんです｡

18
00:01:19,550 --> 00:01:21,500
‫必要なのは､ 別のペインです｡

19
00:01:21,500 --> 00:01:27,680
‫ウィンドウメニューから､ 「My Blueprint」要素をクリックします｡

20
00:01:27,680 --> 00:01:34,220
‫この新しいペインでは､ 以前はできなかったブループリントへの追加が可能になります｡

21
00:01:34,610 --> 00:01:38,120
‫ここに変数の項目と小さなプラスボタンがあるのがわかると思います｡

22
00:01:38,120 --> 00:01:40,160
‫では､ プラスボタンをクリックして､ 何が出てくるか見てみましょう｡

23
00:01:40,190 --> 00:01:42,530
‫なるほど､ 私が話したことが見えてきましたね｡

24
00:01:42,560 --> 00:01:44,870
‫変数に入力しなければならない名前があるんだ｡

25
00:01:44,870 --> 00:01:46,220
‫弾薬と呼ぶことにしている｡

26
00:01:46,220 --> 00:01:48,710
‫そして､ その横には､ タイプがあります｡

27
00:01:48,710 --> 00:01:55,910
‫デフォルトではブーリアン型になっていますが､ ドロップダウンをクリックすると､ すべての型を見ることができます｡

28
00:01:55,910 --> 00:01:57,890
‫うちの場合はかなり多いですね｡

29
00:01:57,890 --> 00:02:03,170
‫素直に単純な整数を目指せばいいんだ､ みたいな感じで､ さて何ができるんでしょうか｡

30
00:02:03,200 --> 00:02:06,800
‫この変数の値を操作するにはどうすればよいのでしょうか？

31
00:02:06,800 --> 00:02:09,590
‫まず､ 初期値があることですね｡

32
00:02:09,590 --> 00:02:13,790
‫詳細ペインに移動すると､ 閉じますが､ ここに戻ってきます｡

33
00:02:13,910 --> 00:02:18,170
‫デフォルト値を設定できるようにするには､ ブループリントをコンパイルしてくださいと書いてあるのがわかりますね｡

34
00:02:18,170 --> 00:02:24,320
‫ブループリントをコンパイルするには､ ツールバーで一番左のコンパイルというボタンをクリックします｡

35
00:02:24,320 --> 00:02:25,610
‫ちょっとクエスチョンマークがついていますね｡

36
00:02:25,610 --> 00:02:31,250
‫コンパイルをクリックすると､ 緑の矢印になり､ 今度はデフォルト値が設定できることがわかります｡

37
00:02:31,250 --> 00:02:40,610
‫例えば､ 弾薬を20発持ってゲームを始めたい場合､ ここに20という値を入力すれば､ プレイ開始時にその値が表示されます｡

38
00:02:40,610 --> 00:02:48,650
‫しかし､ 実際にゲームをプレイしながら弾薬の値を更新したい場合はどうすればいいのでしょうか？

39
00:02:48,770 --> 00:02:56,990
‫さて､ 私の青写真ペインからイベントグラフに変数をドラッグすると､ 2つのオプションが表示されます｡

40
00:02:56,990 --> 00:03:04,070
‫弾薬を取得するオプション､ 言い換えれば､ 弾薬の中に格納されている値を取得するオプション､

41
00:03:04,070 --> 00:03:11,720
‫または､ 弾薬を設定するオプションがあり､ 現在格納されている値を上書きすることができます｡

42
00:03:11,720 --> 00:03:14,000
‫では､ この2つのノードがどのようなものかを見てみましょう｡

43
00:03:14,000 --> 00:03:20,990
‫ちなみに､ コントロールドラッグで変数を取得し､ オルトドラッグで変数を設定することができます｡

44
00:03:20,990 --> 00:03:28,430
‫上書きのタイミングによってゲームプレイへの影響が異なるため､

45
00:03:28,430 --> 00:03:39,410
‫セットには上書きのタイミングを知らせる実行ピンが必要です｡

46
00:03:39,410 --> 00:03:48,860
‫そして､ ゲッターには出力データピンがあるだけで､ セッターには入力データピンがあり､ 異なる値を設定できることが重要な違いであることに気づかれたことでしょう｡

47
00:03:48,860 --> 00:03:56,120
‫そして､ Begin Playで弾薬の価値を知ることができることを紹介させてください｡

48
00:03:56,120 --> 00:04:01,970
‫だから､ 最後に「Welcome to Warehouse Wreckage」「Get Ready to Rumble」をやったら､

49
00:04:01,970 --> 00:04:04,460
‫ここに弾薬の新しいプリントを入れればいいんです｡

50
00:04:04,610 --> 00:04:09,500
‫そこで､ ドラッグオフして､ 新しいprint stringノードを作成することにします｡

51
00:04:09,500 --> 00:04:19,010
‫この中で､ 変数をクリックしてシーンにドラッグし､ 弾をプリント文字列に接続します｡

52
00:04:19,010 --> 00:04:24,260
‫自動的に小さな変換ノードが追加され､ 指定された整数から必要な文字列に変換して､

53
00:04:24,260 --> 00:04:27,260
‫再生ボタンを押すことができるようになります｡

54
00:04:27,260 --> 00:04:34,970
‫つまり､ 現在の弾薬は設定した値であることがわかります｡

55
00:04:35,090 --> 00:04:41,600
‫さて､ ここでもうひとつ､ 弾薬の引き算を可能にするパズルのピースをお見せしたいと思います｡

56
00:04:41,600 --> 00:04:47,060
‫弾を発射し､ インパルスを与えたら､ まず現在の弾薬を取得し､

57
00:04:47,060 --> 00:04:55,610
‫その弾薬から1つ減らして元に戻す必要があります｡

58
00:04:55,610 --> 00:05:00,260
‫つまり､ 3つのステップがあるのですが､ 足りないステップは､ どうやって引き算をするかということです｡

59
00:05:00,260 --> 00:05:04,010
‫まあ､ イベントグラフのどこかを右クリックすればいいんですけどね｡

60
00:05:04,090 --> 00:05:12,200
‫subtractを検索すると､ この小さな深いデフォルトの減算ノードが表示され､ そこに何かを差し込むことができます｡

61
00:05:12,220 --> 00:05:16,660
‫つまり､ 整数を接続すると､ 2番目のピンにも整数を期待することになります｡

62
00:05:16,660 --> 00:05:21,760
‫そこで､ 今､ 変数にある値から1を引くことに挑戦してみよう｡

63
00:05:21,760 --> 00:05:29,830
‫そこで､ コントロールとドラッグを使って変数からアンモの値を取得し､ それからサブトラクトノードを使って1つ引き､

64
00:05:29,830 --> 00:05:39,100
‫1つ置くことを忘れずに､ ゲッターを入力ピンに入れ､ もう一つのピンに1つだけ入力します｡

65
00:05:39,100 --> 00:05:46,420
‫そして､ altクリックをしながらsetノードでドラッグしてammo変数に格納し､

66
00:05:46,420 --> 00:05:57,750
‫最後にprint stringノードを使って結果を出力します｡

67
00:05:57,760 --> 00:05:59,380
‫ビデオを一時停止して､ 試してみてください｡

68
00:06:02,540 --> 00:06:03,110
‫なるほど｡

69
00:06:03,110 --> 00:06:04,070
‫お帰りなさい｡

70
00:06:04,100 --> 00:06:14,420
‫まず最初に､ コントロールクリックで弾薬を入手し､ それをSubtractノードの最初のピンに接続します｡

71
00:06:14,420 --> 00:06:18,740
‫そして､ 2つ目のピンが緑色になり､ 値を入力できるようになることにお気づきでしょうか｡

72
00:06:18,740 --> 00:06:20,240
‫1の値を入力します｡

73
00:06:20,240 --> 00:06:23,300
‫だから､ 弾薬の値から1を引いている｡

74
00:06:23,300 --> 00:06:26,870
‫つまり､ 出力は現在の弾薬から1を引いたものになるわけです｡

75
00:06:26,870 --> 00:06:33,230
‫だから最初は20になり､ 次に18になる､ といった具合です｡  その他 そして､ その出力値で弾薬をセットしたいので､

76
00:06:33,230 --> 00:06:43,490
‫弾薬をクリックしてドラッグし､ 減算からの出力ピンをセットの入力ピンに接続します｡

77
00:06:43,490 --> 00:06:50,210
‫そして､ インパルスを加えた後にセットが発生するように､ 実行ピンを接続する必要があります｡

78
00:06:50,210 --> 00:06:57,080
‫そして､ 必要であればセットからの出力値､ または減算からの出力値を取ることができます｡

79
00:06:57,080 --> 00:07:04,430
‫どちらかが同じになり､ それをprint stringノードに送り込むことができます｡ あるいは､ print stringノードには､

80
00:07:04,430 --> 00:07:08,780
‫私が変換を行えることを知らないので､ 直接行うことができないのです｡

81
00:07:08,780 --> 00:07:15,260
‫そこで､ プリントストリングノードを引き込み､ セットからの出力ピンをそのプリントストリングの入力ピンに接続し､

82
00:07:15,260 --> 00:07:20,990
‫変換ノードで移動し､ 実行ピンを接続する必要があります｡

83
00:07:20,990 --> 00:07:27,170
‫今､ 再生ボタンを押すと､ 弾薬が20と表示され､ 撃つと19､ 18､

84
00:07:27,170 --> 00:07:31,070
‫17と弾薬が減っていくのがわかります｡

85
00:07:31,070 --> 00:07:36,410
‫ゼロになるまで撮り続けても､ 続けられるんです｡

86
00:07:36,410 --> 00:07:42,350
‫私のコードには停止を指示するものがないため､ ここで負の数に入ることができます｡

87
00:07:42,350 --> 00:07:45,260
‫まあ､ それは次の講義で考えましょう｡

88
00:07:45,260 --> 00:07:46,070
‫現地でお会いしましょう｡

