Contenu connexe Plus de Tatsuya Iwama (16) 算数ゲーム Part2 UE4のブループリントでプログラム文法を1日で体験する2. Index
1. 作成するゲーム内容、得られる知識
2. プロジェクトを作成する
3. ブループリントでHello Worldを画⾯に表⽰する
4. ブループリント(BP)で⾜し算ゲームを作成する
5. 計算⽅法(⾜し算、引き算、掛け算、割り算)をランダムに修正する
6. UMGの作成・表⽰(ウィジェットブループリント)
7. UMGからゲームを実⾏できるようにする
8. テスト項⽬票の作成、デバッグ
9. パッケージ化
【零式】
1ゲーム10回計算したら、結果を表⽰する
2
3. 1. 作成するゲーム内容、得られる知識
2. プロジェクトを作成する
3. ブループリントでHello Worldを画⾯に表⽰する
4. ブループリントで⾜し算ゲームを作成する
4.1 新規レベル(RandomPlusGame)を作成・保存
4.2 ブループリント(BP_RandomPlusGame)を作成
4.3 ⾜し算の実装
4.4 ⾜し算の引数を変数化
4.5 ⾜し算を関数化
4.6 ランダムの数値を⾜し算する関数(RandomCalculation)を作成
4.7 キーボード⼊⼒で答えを⼊⼒
4.8 正解判定
4.9 算数ゲーム(⾜し算のみ)化
5. 計算⽅法(⾜し算、引き算、掛け算、割り算)をランダムに修正する
5.1 新規レベル(RandomCalcGame)を作成・保存
5.2 BP_RandomPlusGameを複製して、BP_RandomCalcGameを作成
5.3 引き算、掛け算、割り算を実装
5.4 関数RandomCalculationの修正
5.5 算数ゲームの計算⽅法のランダム対応
6. UMGの作成・表⽰ (ウィジェットブループリント)
6.1 新規レベル(DispWidget)を作成・保存
6.2 画像ファイルのインポート
3
6.3 ウィジェットブループリント(WBP_MathGameOutline)を作成
6.4 ウィジェットブループリントエディタについて
6.5 ウィジェットの配置
6.5.1 Imageを使⽤してアウトライン背景を表⽰
6.5.2 Textを配置して計算式を作成
6.5.3 HorizonBoxを使⽤して、1~9のButtonを横並びに配置する
6.5.4 Imageを使⽤して結果判定の画像を配置
6.6 レベルブループリントの編集
6.6.1 ウィジェットを表⽰
6.6.2 マウスカーソルを常に表⽰
6.6.3 ESCキーでゲームを終了
7. UMGからゲームを実⾏できるようにする
7.1 新規レベル(MathGame)を作成・保存
7.2 WBP_MathGameOutlineを複製して、WBP_MathGameを作成
7.3 背景をアウトラインがない画像に変更
7.4 WBP_MathGameOutlineからWBP_MathGameを表⽰するように
レベルブループリントを修正
7.5 ウィジェットブループリントの基本機能を実装
7.5.1 ButtonのClickイベント
7.5.2 TextのTextプロパティの値を変更
7.5.3 Imageの画像切り替え
7.5.4 Imageの表⽰/⾮表⽰
4. 7.6 BP_RandomCalcGameの処理を参考にWBP_MathGameを実装
7.6.1 BP_RandomCalcGameから変更するポイント
7.6.2 BP_RandomCalcGameから変数、RandomCalculationを移植
7.6.3 ボタンのクリックイベントをTextBlock_NumAのTextに設定
7.6.4 計算とボタンの⼊⼒値を判定して結果画像と答えを表⽰
7.6.5 計算と⼊⼒判定のループ化
8. テスト項⽬票の作成、デバッグ
8.1 そのゲームちゃんと動くの?
8.2 ゲーム内容からテスト項⽬の抽出
8.3 テスト項⽬票を作成して、テストを実施
8.4 ブループリント、関数単位のテストするためのデバッグ⽅法について
8.5 ブラックボックステスト、ホワイトボックステスト
8.6 作りたいゲームの作り⽅、⼯程に対応するテスト
9. パッケージ化
9.1 配布⽤パッケージにするためのプロジェクト設定
9.2 Windows(64ビット)でパッケージ化
9.3 パッケージサイズをより⼩さくする
4
【零式】1ゲーム10回計算したら、結果を表⽰する
1. 新規レベル(PrintMathGame)を作成・保存
2. BP_RandomCalcGameを複製して、BP_PrintMathGameを作成
3. 列挙型:E_CalcTypeを作成
4. 構造体:ST_CalcResultの作成
5. 構造体,列挙型を関数RandomCalculationに組み込む
6. 1ゲーム10回計算したら、結果を表⽰する
6.1 変数の変更(変数の配列化)
6.2 RandomCalculationの結果を配列に追加して計算式を出⼒
6.3 ⼊⼒後の判定を変更
6.4 結果をまとめて出⼒
6.5 結果をまとめて出⼒したら、得点を出⼒
6.6 変数を初期化して問題を出⼒する
7. 得られる知識
• ブループリントの作り⽅(基本操作)
• 変数
• 計算ノード
• 関数
• If⽂(ブランチ)
• キーボード⼊⼒
• UIの作り⽅(ウィジェットブループリントのデザイン)
• ウィジェットブループリントの処理(ボタン⼊⼒、表⽰の切り替え)
• 設計書からのテスト項⽬作成
• デバッグ
• パッケージ化(Exeの書き出し)
【零式】
• 構造体
• 列挙型
• 配列(作成、取得、ループ)
7
11. 6. UMGの作成・表⽰ (ウィジェットブループリント)
6.1 新規レベル(DispWidget)を作成・保存
6.2 画像ファイルのインポート
6.3 ウィジェットブループリント(WBP_MathGameOutline)を作成
6.4 ウィジェットブループリントエディタについて
6.5 ウィジェットの配置
6.5.1 Imageを使⽤してアウトライン背景を表⽰
6.5.2 Textを配置して計算式を作成
6.5.3 HorizonBoxを使⽤して、1~9のButtonを横並びに配置する
6.5.4 Imageを使⽤して結果判定の画像を配置
6.6 レベルブループリントの編集
6.6.1 ウィジェットを表⽰
6.6.2 マウスカーソルを常に表⽰
6.6.3 ESCキーでゲームを終了
119
12. 6. UMGの作成・表⽰ (ウィジェットブループリント)
6.1 新規レベル(DispWidget)を作成・保存
6.2 画像ファイルのインポート
6.3 ウィジェットブループリント(WBP_MathGameOutline)を作成
6.4 ウィジェットブループリントエディタについて
6.5 ウィジェットの配置
6.5.1 Imageを使⽤してアウトライン背景を表⽰
6.5.2 Textを配置して計算式を作成
6.5.3 HorizonBoxを使⽤して、1~9のButtonを横並びに配置する
6.5.4 Imageを使⽤して結果判定の画像を配置
6.6 レベルブループリントの編集
6.6.1 ウィジェットを表⽰
6.6.2 マウスカーソルを常に表⽰
6.6.3 ESCキーでゲームを終了
120
14. 6. UMGの作成・表⽰ (ウィジェットブループリント)
6.1 新規レベル(DispWidget)を作成・保存
6.2 画像ファイルのインポート
6.3 ウィジェットブループリント(WBP_MathGameOutline)を作成
6.4 ウィジェットブループリントエディタについて
6.5 ウィジェットの配置
6.5.1 Imageを使⽤してアウトライン背景を表⽰
6.5.2 Textを配置して計算式を作成
6.5.3 HorizonBoxを使⽤して、1~9のButtonを横並びに配置する
6.5.4 Imageを使⽤して結果判定の画像を配置
6.6 レベルブループリントの編集
6.6.1 ウィジェットを表⽰
6.6.2 マウスカーソルを常に表⽰
6.6.3 ESCキーでゲームを終了
122
16. 6. UMGの作成・表⽰ (ウィジェットブループリント)
6.1 新規レベル(DispWidget)を作成・保存
6.2 画像ファイルのインポート
6.3 ウィジェットブループリント(WBP_MathGameOutline)を作成
6.4 ウィジェットブループリントエディタについて
6.5 ウィジェットの配置
6.5.1 Imageを使⽤してアウトライン背景を表⽰
6.5.2 Textを配置して計算式を作成
6.5.3 HorizonBoxを使⽤して、1~9のButtonを横並びに配置する
6.5.4 Imageを使⽤して結果判定の画像を配置
6.6 レベルブループリントの編集
6.6.1 ウィジェットを表⽰
6.6.2 マウスカーソルを常に表⽰
6.6.3 ESCキーでゲームを終了
124
18. 6. UMGの作成・表⽰ (ウィジェットブループリント)
6.1 新規レベル(DispWidget)を作成・保存
6.2 画像ファイルのインポート
6.3 ウィジェットブループリント(WBP_MathGameOutline)を作成
6.4 ウィジェットブループリントエディタについて
6.5 ウィジェットの配置
6.5.1 Imageを使⽤してアウトライン背景を表⽰
6.5.2 Textを配置して計算式を作成
6.5.3 HorizonBoxを使⽤して、1~9のButtonを横並びに配置する
6.5.4 Imageを使⽤して結果判定の画像を配置
6.6 レベルブループリントの編集
6.6.1 ウィジェットを表⽰
6.6.2 マウスカーソルを常に表⽰
6.6.3 ESCキーでゲームを終了
126
28. 6. UMGの作成・表⽰ (ウィジェットブループリント)
6.1 新規レベル(DispWidget)を作成・保存
6.2 画像ファイルのインポート
6.3 ウィジェットブループリント(WBP_MathGameOutline)を作成
6.4 ウィジェットブループリントエディタについて
6.5 ウィジェットの配置
6.5.1 Imageを使⽤してアウトライン背景を表⽰
6.5.2 Textを配置して計算式を作成
6.5.3 HorizonBoxを使⽤して、1~9のButtonを横並びに配置する
6.5.4 Imageを使⽤して結果判定の画像を配置
6.6 レベルブループリントの編集
6.6.1 ウィジェットを表⽰
6.6.2 マウスカーソルを常に表⽰
6.6.3 ESCキーでゲームを終了
136
31. 6. UMGの作成・表⽰ (ウィジェットブループリント)
6.1 新規レベル(DispWidget)を作成・保存
6.2 画像ファイルのインポート
6.3 ウィジェットブループリント(WBP_MathGameOutline)を作成
6.4 ウィジェットブループリントエディタについて
6.5 ウィジェットの配置
6.5.1 Imageを使⽤してアウトライン背景を表⽰
6.5.2 Textを配置して計算式を作成
6.5.3 HorizonBoxを使⽤して、1~9のButtonを横並びに配置する
6.5.4 Imageを使⽤して結果判定の画像を配置
6.6 レベルブループリントの編集
6.6.1 ウィジェットを表⽰
6.6.2 マウスカーソルを常に表⽰
6.6.3 ESCキーでゲームを終了
139
37. 6. UMGの作成・表⽰ (ウィジェットブループリント)
6.1 新規レベル(DispWidget)を作成・保存
6.2 画像ファイルのインポート
6.3 ウィジェットブループリント(WBP_MathGameOutline)を作成
6.4 ウィジェットブループリントエディタについて
6.5 ウィジェットの配置
6.5.1 Imageを使⽤してアウトライン背景を表⽰
6.5.2 Textを配置して計算式を作成
6.5.3 HorizonBoxを使⽤して、1~9のButtonを横並びに配置する
6.5.4 Imageを使⽤して結果判定の画像を配置
6.6 レベルブループリントの編集
6.6.1 ウィジェットを表⽰
6.6.2 マウスカーソルを常に表⽰
6.6.3 ESCキーでゲームを終了
145
46. 6. UMGの作成・表⽰ (ウィジェットブループリント)
6.1 新規レベル(DispWidget)を作成・保存
6.2 画像ファイルのインポート
6.3 ウィジェットブループリント(WBP_MathGameOutline)を作成
6.4 ウィジェットブループリントエディタについて
6.5 ウィジェットの配置
6.5.1 Imageを使⽤してアウトライン背景を表⽰
6.5.2 Textを配置して計算式を作成
6.5.3 HorizonBoxを使⽤して、1~9のButtonを横並びに配置する
6.5.4 Imageを使⽤して結果判定の画像を配置
6.6 レベルブループリントの編集
6.6.1 ウィジェットを表⽰
6.6.2 マウスカーソルを常に表⽰
6.6.3 ESCキーでゲームを終了
154
61. 6. UMGの作成・表⽰ (ウィジェットブループリント)
6.1 新規レベル(DispWidget)を作成・保存
6.2 画像ファイルのインポート
6.3 ウィジェットブループリント(WBP_MathGameOutline)を作成
6.4 ウィジェットブループリントエディタについて
6.5 ウィジェットの配置
6.5.1 Imageを使⽤してアウトライン背景を表⽰
6.5.2 Textを配置して計算式を作成
6.5.3 HorizonBoxを使⽤して、1~9のButtonを横並びに配置する
6.5.4 Imageを使⽤して結果判定の画像を配置
6.6 レベルブループリントの編集
6.6.1 ウィジェットを表⽰
6.6.2 マウスカーソルを常に表⽰
6.6.3 ESCキーでゲームを終了
169
65. 6. UMGの作成・表⽰ (ウィジェットブループリント)
6.1 新規レベル(DispWidget)を作成・保存
6.2 画像ファイルのインポート
6.3 ウィジェットブループリント(WBP_MathGameOutline)を作成
6.4 ウィジェットブループリントエディタについて
6.5 ウィジェットの配置
6.5.1 Imageを使⽤してアウトライン背景を表⽰
6.5.2 Textを配置して計算式を作成
6.5.3 HorizonBoxを使⽤して、1~9のButtonを横並びに配置する
6.5.4 Imageを使⽤して結果判定の画像を配置
6.6 レベルブループリントの編集
6.6.1 ウィジェットを表⽰
6.6.2 マウスカーソルを常に表⽰
6.6.3 ESCキーでゲームを終了
173
67. 6. UMGの作成・表⽰ (ウィジェットブループリント)
6.1 新規レベル(DispWidget)を作成・保存
6.2 画像ファイルのインポート
6.3 ウィジェットブループリント(WBP_MathGameOutline)を作成
6.4 ウィジェットブループリントエディタについて
6.5 ウィジェットの配置
6.5.1 Imageを使⽤してアウトライン背景を表⽰
6.5.2 Textを配置して計算式を作成
6.5.3 HorizonBoxを使⽤して、1~9のButtonを横並びに配置する
6.5.4 Imageを使⽤して結果判定の画像を配置
6.6 レベルブループリントの編集
6.6.1 ウィジェットを表⽰
6.6.2 マウスカーソルを常に表⽰
6.6.3 ESCキーでゲームを終了
175
74. 6. UMGの作成・表⽰ (ウィジェットブループリント)
6.1 新規レベル(DispWidget)を作成・保存
6.2 画像ファイルのインポート
6.3 ウィジェットブループリント(WBP_MathGameOutline)を作成
6.4 ウィジェットブループリントエディタについて
6.5 ウィジェットの配置
6.5.1 Imageを使⽤してアウトライン背景を表⽰
6.5.2 Textを配置して計算式を作成
6.5.3 HorizonBoxを使⽤して、1~9のButtonを横並びに配置する
6.5.4 Imageを使⽤して結果判定の画像を配置
6.6 レベルブループリントの編集
6.6.1 ウィジェットを表⽰
6.6.2 マウスカーソルを常に表⽰
6.6.3 ESCキーでゲームを終了
182
75. Set Show Mouse Cursorを追加
183
Get Player ControllerのReturn Valueをドラッグ&ドロップ
> setshowmousecursor で検索
> [Set Show Mouse Cursor]を選択
77. 6. UMGの作成・表⽰ (ウィジェットブループリント)
6.1 新規レベル(DispWidget)を作成・保存
6.2 画像ファイルのインポート
6.3 ウィジェットブループリント(WBP_MathGameOutline)を作成
6.4 ウィジェットブループリントエディタについて
6.5 ウィジェットの配置
6.5.1 Imageを使⽤してアウトライン背景を表⽰
6.5.2 Textを配置して計算式を作成
6.5.3 HorizonBoxを使⽤して、1~9のButtonを横並びに配置する
6.5.4 Imageを使⽤して結果判定の画像を配置
6.6 レベルブループリントの編集
6.6.1 ウィジェットを表⽰
6.6.2 マウスカーソルを常に表⽰
6.6.3 ESCキーでゲームを終了
185
81. 7. UMGからゲームを実⾏できるようにする
7.1 新規レベル(MathGame)を作成・保存
7.2 WBP_MathGameOutlineを複製して、WBP_MathGameを作成
7.3 背景をアウトラインがない画像に変更
7.4 WBP_MathGameOutlineからWBP_MathGameを表⽰するようにレベルブループリントを修正
7.5 ウィジェットブループリントの基本機能を実装
7.5.1 ButtonのClickイベント
7.5.2 TextのTextプロパティの値を変更
7.5.3 Imageの画像切り替え
7.5.4 Imageの表⽰/⾮表⽰
7.6 BP_RandomCalcGameの処理を参考にWBP_MathGameを実装
7.6.1 BP_RandomCalcGameから変更するポイント
7.6.2 BP_RandomCalcGameから変数、RandomCalculationを移植
7.6.3 ボタンのクリックイベントをTextBlock_NumAのTextに設定
7.6.4 計算とボタンの⼊⼒値を判定して結果画像と答えを表⽰
7.6.5 計算と⼊⼒判定のループ化
189
82. 7. UMGからゲームを実⾏できるようにする
7.1 新規レベル(MathGame)を作成・保存
7.2 WBP_MathGameOutlineを複製して、WBP_MathGameを作成
7.3 背景をアウトラインがない画像に変更
7.4 WBP_MathGameOutlineからWBP_MathGameを表⽰するようにレベルブループリントを修正
7.5 ウィジェットブループリントの基本機能を実装
7.5.1 ButtonのClickイベント
7.5.2 TextのTextプロパティの値を変更
7.5.3 Imageの画像切り替え
7.5.4 Imageの表⽰/⾮表⽰
7.6 BP_RandomCalcGameの処理を参考にWBP_MathGameを実装
7.6.1 BP_RandomCalcGameから変更するポイント
7.6.2 BP_RandomCalcGameから変数、RandomCalculationを移植
7.6.3 ボタンのクリックイベントをTextBlock_NumAのTextに設定
7.6.4 計算とボタンの⼊⼒値を判定して結果画像と答えを表⽰
7.6.5 計算と⼊⼒判定のループ化
190
84. 7. UMGからゲームを実⾏できるようにする
7.1 新規レベル(MathGame)を作成・保存
7.2 WBP_MathGameOutlineを複製して、WBP_MathGameを作成
7.3 背景をアウトラインがない画像に変更
7.4 WBP_MathGameOutlineからWBP_MathGameを表⽰するようにレベルブループリントを修正
7.5 ウィジェットブループリントの基本機能を実装
7.5.1 ButtonのClickイベント
7.5.2 TextのTextプロパティの値を変更
7.5.3 Imageの画像切り替え
7.5.4 Imageの表⽰/⾮表⽰
7.6 BP_RandomCalcGameの処理を参考にWBP_MathGameを実装
7.6.1 BP_RandomCalcGameから変更するポイント
7.6.2 BP_RandomCalcGameから変数、RandomCalculationを移植
7.6.3 ボタンのクリックイベントをTextBlock_NumAのTextに設定
7.6.4 計算とボタンの⼊⼒値を判定して結果画像と答えを表⽰
7.6.5 計算と⼊⼒判定のループ化
192
86. 7. UMGからゲームを実⾏できるようにする
7.1 新規レベル(MathGame)を作成・保存
7.2 WBP_MathGameOutlineを複製して、WBP_MathGameを作成
7.3 背景をアウトラインがない画像に変更
7.4 WBP_MathGameOutlineからWBP_MathGameを表⽰するようにレベルブループリントを修正
7.5 ウィジェットブループリントの基本機能を実装
7.5.1 ButtonのClickイベント
7.5.2 TextのTextプロパティの値を変更
7.5.3 Imageの画像切り替え
7.5.4 Imageの表⽰/⾮表⽰
7.6 BP_RandomCalcGameの処理を参考にWBP_MathGameを実装
7.6.1 BP_RandomCalcGameから変更するポイント
7.6.2 BP_RandomCalcGameから変数、RandomCalculationを移植
7.6.3 ボタンのクリックイベントをTextBlock_NumAのTextに設定
7.6.4 計算とボタンの⼊⼒値を判定して結果画像と答えを表⽰
7.6.5 計算と⼊⼒判定のループ化
194
89. 7. UMGからゲームを実⾏できるようにする
7.1 新規レベル(MathGame)を作成・保存
7.2 WBP_MathGameOutlineを複製して、WBP_MathGameを作成
7.3 背景をアウトラインがない画像に変更
7.4 WBP_MathGameOutlineからWBP_MathGameを表⽰するようにレベルブループリントを修正
7.5 ウィジェットブループリントの基本機能を実装
7.5.1 ButtonのClickイベント
7.5.2 TextのTextプロパティの値を変更
7.5.3 Imageの画像切り替え
7.5.4 Imageの表⽰/⾮表⽰
7.6 BP_RandomCalcGameの処理を参考にWBP_MathGameを実装
7.6.1 BP_RandomCalcGameから変更するポイント
7.6.2 BP_RandomCalcGameから変数、RandomCalculationを移植
7.6.3 ボタンのクリックイベントをTextBlock_NumAのTextに設定
7.6.4 計算とボタンの⼊⼒値を判定して結果画像と答えを表⽰
7.6.5 計算と⼊⼒判定のループ化
197
91. 7. UMGからゲームを実⾏できるようにする
7.1 新規レベル(MathGame)を作成・保存
7.2 WBP_MathGameOutlineを複製して、WBP_MathGameを作成
7.3 背景をアウトラインがない画像に変更
7.4 WBP_MathGameOutlineからWBP_MathGameを表⽰するようにレベルブループリントを修正
7.5 ウィジェットブループリントの基本機能を実装
7.5.1 ButtonのClickイベント
7.5.2 TextのTextプロパティの値を変更
7.5.3 Imageの画像切り替え
7.5.4 Imageの表⽰/⾮表⽰
7.6 BP_RandomCalcGameの処理を参考にWBP_MathGameを実装
7.6.1 BP_RandomCalcGameから変更するポイント
7.6.2 BP_RandomCalcGameから変数、RandomCalculationを移植
7.6.3 ボタンのクリックイベントをTextBlock_NumAのTextに設定
7.6.4 計算とボタンの⼊⼒値を判定して結果画像と答えを表⽰
7.6.5 計算と⼊⼒判定のループ化
199
95. 7. UMGからゲームを実⾏できるようにする
7.1 新規レベル(MathGame)を作成・保存
7.2 WBP_MathGameOutlineを複製して、WBP_MathGameを作成
7.3 背景をアウトラインがない画像に変更
7.4 WBP_MathGameOutlineからWBP_MathGameを表⽰するようにレベルブループリントを修正
7.5 ウィジェットブループリントの基本機能を実装
7.5.1 ButtonのClickイベント
7.5.2 TextのTextプロパティの値を変更
7.5.3 Imageの画像切り替え
7.5.4 Imageの表⽰/⾮表⽰
7.6 BP_RandomCalcGameの処理を参考にWBP_MathGameを実装
7.6.1 BP_RandomCalcGameから変更するポイント
7.6.2 BP_RandomCalcGameから変数、RandomCalculationを移植
7.6.3 ボタンのクリックイベントをTextBlock_NumAのTextに設定
7.6.4 計算とボタンの⼊⼒値を判定して結果画像と答えを表⽰
7.6.5 計算と⼊⼒判定のループ化
203
98. 7. UMGからゲームを実⾏できるようにする
7.1 新規レベル(MathGame)を作成・保存
7.2 WBP_MathGameOutlineを複製して、WBP_MathGameを作成
7.3 背景をアウトラインがない画像に変更
7.4 WBP_MathGameOutlineからWBP_MathGameを表⽰するようにレベルブループリントを修正
7.5 ウィジェットブループリントの基本機能を実装
7.5.1 ButtonのClickイベント
7.5.2 TextのTextプロパティの値を変更
7.5.3 Imageの画像切り替え
7.5.4 Imageの表⽰/⾮表⽰
7.6 BP_RandomCalcGameの処理を参考にWBP_MathGameを実装
7.6.1 BP_RandomCalcGameから変更するポイント
7.6.2 BP_RandomCalcGameから変数、RandomCalculationを移植
7.6.3 ボタンのクリックイベントをTextBlock_NumAのTextに設定
7.6.4 計算とボタンの⼊⼒値を判定して結果画像と答えを表⽰
7.6.5 計算と⼊⼒判定のループ化
206
102. 7. UMGからゲームを実⾏できるようにする
7.1 新規レベル(MathGame)を作成・保存
7.2 WBP_MathGameOutlineを複製して、WBP_MathGameを作成
7.3 背景をアウトラインがない画像に変更
7.4 WBP_MathGameOutlineからWBP_MathGameを表⽰するようにレベルブループリントを修正
7.5 ウィジェットブループリントの基本機能を実装
7.5.1 ButtonのClickイベント
7.5.2 TextのTextプロパティの値を変更
7.5.3 Imageの画像切り替え
7.5.4 Imageの表⽰/⾮表⽰
7.6 BP_RandomCalcGameの処理を参考にWBP_MathGameを実装
7.6.1 BP_RandomCalcGameから変更するポイント
7.6.2 BP_RandomCalcGameから変数、RandomCalculationを移植
7.6.3 ボタンのクリックイベントをTextBlock_NumAのTextに設定
7.6.4 計算とボタンの⼊⼒値を判定して結果画像と答えを表⽰
7.6.5 計算と⼊⼒判定のループ化
210
104. Set Brush from Textureの
Textureに切り替える画像を設定
212
Set Brush from Textureの
Textureに[IMG_Incorrect]を選択
プレイして確認
ボタン1をクリックすると画像が切り替わる
105. 7. UMGからゲームを実⾏できるようにする
7.1 新規レベル(MathGame)を作成・保存
7.2 WBP_MathGameOutlineを複製して、WBP_MathGameを作成
7.3 背景をアウトラインがない画像に変更
7.4 WBP_MathGameOutlineからWBP_MathGameを表⽰するようにレベルブループリントを修正
7.5 ウィジェットブループリントの基本機能を実装
7.5.1 ButtonのClickイベント
7.5.2 TextのTextプロパティの値を変更
7.5.3 Imageの画像切り替え
7.5.4 Imageの表⽰/⾮表⽰
7.6 BP_RandomCalcGameの処理を参考にWBP_MathGameを実装
7.6.1 BP_RandomCalcGameから変更するポイント
7.6.2 BP_RandomCalcGameから変数、RandomCalculationを移植
7.6.3 ボタンのクリックイベントをTextBlock_NumAのTextに設定
7.6.4 計算とボタンの⼊⼒値を判定して結果画像と答えを表⽰
7.6.5 計算と⼊⼒判定のループ化
213
109. 7. UMGからゲームを実⾏できるようにする
7.1 新規レベル(MathGame)を作成・保存
7.2 WBP_MathGameOutlineを複製して、WBP_MathGameを作成
7.3 背景をアウトラインがない画像に変更
7.4 WBP_MathGameOutlineからWBP_MathGameを表⽰するようにレベルブループリントを修正
7.5 ウィジェットブループリントの基本機能を実装
7.5.1 ButtonのClickイベント
7.5.2 TextのTextプロパティの値を変更
7.5.3 Imageの画像切り替え
7.5.4 Imageの表⽰/⾮表⽰
7.6 BP_RandomCalcGameの処理を参考にWBP_MathGameを実装
7.6.1 BP_RandomCalcGameから変更するポイント
7.6.2 BP_RandomCalcGameから変数、RandomCalculationを移植
7.6.3 ボタンのクリックイベントをTextBlock_NumAのTextに設定
7.6.4 計算とボタンの⼊⼒値を判定して結果画像と答えを表⽰
7.6.5 計算と⼊⼒判定のループ化
217
114. 7. UMGからゲームを実⾏できるようにする
7.1 新規レベル(MathGame)を作成・保存
7.2 WBP_MathGameOutlineを複製して、WBP_MathGameを作成
7.3 背景をアウトラインがない画像に変更
7.4 WBP_MathGameOutlineからWBP_MathGameを表⽰するようにレベルブループリントを修正
7.5 ウィジェットブループリントの基本機能を実装
7.5.1 ButtonのClickイベント
7.5.2 TextのTextプロパティの値を変更
7.5.3 Imageの画像切り替え
7.5.4 Imageの表⽰/⾮表⽰
7.6 BP_RandomCalcGameの処理を参考にWBP_MathGameを実装
7.6.1 BP_RandomCalcGameから変更するポイント
7.6.2 BP_RandomCalcGameから変数、RandomCalculationを移植
7.6.3 ボタンのクリックイベントをTextBlock_NumAのTextに設定
7.6.4 計算とボタンの⼊⼒値を判定して結果画像と答えを表⽰
7.6.5 計算と⼊⼒判定のループ化
222
126. 計算式の作成 2
TextBlockに表⽰する変数、⽂字列
234
変数名 計算式表示 結果表示
TextBlock_Result “”(空⽩) NumA
TextBlock_NumA ”?“ Answer
TextBlock_CalcType CalcType CalcType
TextBlock_NumB NumB NumB
TextBlock_Total Total Total
Textには変数名または文字列を表示
“” は文字列
130. 7. UMGからゲームを実⾏できるようにする
7.1 新規レベル(MathGame)を作成・保存
7.2 WBP_MathGameOutlineを複製して、WBP_MathGameを作成
7.3 背景をアウトラインがない画像に変更
7.4 WBP_MathGameOutlineからWBP_MathGameを表⽰するようにレベルブループリントを修正
7.5 ウィジェットブループリントの基本機能を実装
7.5.1 ButtonのClickイベント
7.5.2 TextのTextプロパティの値を変更
7.5.3 Imageの画像切り替え
7.5.4 Imageの表⽰/⾮表⽰
7.6 BP_RandomCalcGameの処理を参考にWBP_MathGameを実装
7.6.1 BP_RandomCalcGameから変更するポイント
7.6.2 BP_RandomCalcGameから変数、RandomCalculationを移植
7.6.3 ボタンのクリックイベントをTextBlock_NumAのTextに設定
7.6.4 計算とボタンの⼊⼒値を判定して結果画像と答えを表⽰
7.6.5 計算と⼊⼒判定のループ化
238
134. 7. UMGからゲームを実⾏できるようにする
7.1 新規レベル(MathGame)を作成・保存
7.2 WBP_MathGameOutlineを複製して、WBP_MathGameを作成
7.3 背景をアウトラインがない画像に変更
7.4 WBP_MathGameOutlineからWBP_MathGameを表⽰するようにレベルブループリントを修正
7.5 ウィジェットブループリントの基本機能を実装
7.5.1 ButtonのClickイベント
7.5.2 TextのTextプロパティの値を変更
7.5.3 Imageの画像切り替え
7.5.4 Imageの表⽰/⾮表⽰
7.6 BP_RandomCalcGameの処理を参考にWBP_MathGameを実装
7.6.1 BP_RandomCalcGameから変更するポイント
7.6.2 BP_RandomCalcGameから変数、RandomCalculationを移植
7.6.3 ボタンのクリックイベントをTextBlock_NumAのTextに設定
7.6.4 計算とボタンの⼊⼒値を判定して結果画像と答えを表⽰
7.6.5 計算と⼊⼒判定のループ化
242
138. 7. UMGからゲームを実⾏できるようにする
7.1 新規レベル(MathGame)を作成・保存
7.2 WBP_MathGameOutlineを複製して、WBP_MathGameを作成
7.3 背景をアウトラインがない画像に変更
7.4 WBP_MathGameOutlineからWBP_MathGameを表⽰するようにレベルブループリントを修正
7.5 ウィジェットブループリントの基本機能を実装
7.5.1 ButtonのClickイベント
7.5.2 TextのTextプロパティの値を変更
7.5.3 Imageの画像切り替え
7.5.4 Imageの表⽰/⾮表⽰
7.6 BP_RandomCalcGameの処理を参考にWBP_MathGameを実装
7.6.1 BP_RandomCalcGameから変更するポイント
7.6.2 BP_RandomCalcGameから変数、RandomCalculationを移植
7.6.3 ボタンのクリックイベントをTextBlock_NumAのTextに設定
7.6.4 計算とボタンの⼊⼒値を判定して結果画像と答えを表⽰
7.6.5 計算と⼊⼒判定のループ化
246
160. テスト項⽬票
267
項目番号 大項目 中項目 小項目 テスト内容 結果
1-1 問題出⼒ 数値A ?が表⽰される
1-2-1 数学記号 ⾜し算(+) +が表⽰される
1-2-2 引き算(−) −が表⽰される
1-2-3 掛け算(×) ×が表⽰される
1-2-4 割り算(÷) ÷が表⽰される
1-3 数値B 繰り返し毎にランダムの数値が表⽰される
1-4 計算結果 繰り返し毎にランダムの数値が表⽰される
1-5 解答 ⾮表⽰
1-6 結果画像 ⾮表⽰
項⽬番号 ⼤中⼩項⽬を数値化してIDにした番号(エラーを報告する際に使う)
⼤・中・⼩項⽬ テスト項⽬のカテゴリ分け(3or5くらいの階層で終わるように)
テスト内容 何がどうなれば正しいのか記述する
結果 正しかったら〇を記⼊する
決まったフォーマットはない。エクセルで作られることが多い。
規模が⼤きくなると、実施した⼈の名前、消化した⽇付、エラーを報告する報告書があるときは報告書のIDなど記⼊しなくてはならない項⽬が増える
エラーを発⾒出来るテストが書かれているテスト項⽬票がいいテスト項⽬票
算数ゲームでは作成したテスト項⽬票を使ってテスト
161. テスト項⽬票(表⽰:問題出⼒)
268
項目番号 大項目 中項目 小項目 テスト内容 結果
1-1 問題出⼒ 数値A ?が表⽰される
1-2-1 数学記号 ⾜し算(+) +が表⽰される
1-2-2 引き算(−) −が表⽰される
1-2-3 掛け算(×) ×が表⽰される
1-2-4 割り算(÷) ÷が表⽰される
1-3 数値B 繰り返し毎にランダムの数値が表⽰される
1-4 計算結果 繰り返し毎にランダムの数値が表⽰される
1-5 解答 ⾮表⽰
1-6 結果画像 ⾮表⽰
162. テスト項⽬票(表⽰:解答出⼒)
269
項目番号 大項目 中項目 小項目 テスト内容 結果
2-1-1 解答出⼒ 数値A ボタン1(Click) 1が表⽰される
2-1-2 ボタン2(Click) 2が表⽰される
2-1-3 ボタン3(Click) 3が表⽰される
2-1-4 ボタン4(Click) 4が表⽰される
2-1-5 ボタン5(Click) 5が表⽰される
2-1-6 ボタン6(Click) 6が表⽰される
2-1-7 ボタン7(Click) 7が表⽰される
2-1-8 ボタン8(Click) 8が表⽰される
2-1-9 ボタン9(Click) 9が表⽰される
2-2 数学記号 問題出⼒から変化なし
2-3 数値B 問題出⼒から変化なし
2-4 計算結果 問題出⼒から変化なし
2-5 解答 繰り返し毎にランダムの数値が表⽰される
2-6-1 結果画像 数値Aと解答が⼀致 〇の画像が表⽰される
2-6-2 数値Aと解答が不⼀致 ×の画像が表⽰される
163. テスト項⽬票
(表⽰:解答出⼒のボタンクリック)
270
項目番号 大項目 中項目 小項目 テスト内容 結果
3-1 解答出⼒中の
ボタンクリック
ボタン1(Click) 解答出⼒の表⽰が変わらないこと
3-2 ボタン2(Click) 解答出⼒の表⽰が変わらないこと
3-3 ボタン3(Click) 解答出⼒の表⽰が変わらないこと
3-4 ボタン4(Click) 解答出⼒の表⽰が変わらないこと
3-5 ボタン5(Click) 解答出⼒の表⽰が変わらないこと
3-6 ボタン6(Click) 解答出⼒の表⽰が変わらないこと
3-7 ボタン7(Click) 解答出⼒の表⽰が変わらないこと
3-8 ボタン8(Click) 解答出⼒の表⽰が変わらないこと
3-9 ボタン9(Click) 解答出⼒の表⽰が変わらないこと
164. テスト項⽬票(機能)
271
項目番号 大項目 中項目 小項目 テスト内容 結果
4-1 フロー 開始 問題出⼒されること
4-2-1 問題出⼒中の
ボタンクリック
ボタン1(Click) 解答出⼒されること
4-2-2 ボタン2(Click) 解答出⼒されること
4-2-3 ボタン3(Click) 解答出⼒されること
4-2-4 ボタン4(Click) 解答出⼒されること
4-2-5 ボタン5(Click) 解答出⼒されること
4-2-6 ボタン6(Click) 解答出⼒されること
4-2-7 ボタン7(Click) 解答出⼒されること
4-2-8 ボタン8(Click) 解答出⼒されること
4-2-9 ボタン9(Click) 解答出⼒されること
4-3 解答出⼒ > 問題出⼒ 解答出⼒から⾃動的に問題出⼒されること
4-4 終了 ESCキー(Pressed) ゲームが終了されること
4-5-1 計算結果 ⾜し算(+) 解答出⼒の計算が正しいこと(解答+数値B=計算結果)
4-5-2 引き算(−) 解答出⼒の計算が正しいこと(解答−数値B=計算結果)
4-5-3 掛け算(×) 解答出⼒の計算が正しいこと(解答×数値B=計算結果)
4-5-4 割り算(÷) 解答出⼒の計算が正しいこと(解答÷数値B=計算結果)
166. ブループリントの設計書がある場合
273
ブループリントクラス名 親クラス 機能内容
BP_RandomCalcGame Actor ランダムの数値A,Bをランダムの計算⽅法(⾜し算、引き算、掛け算、割り算)で計算した結果を計算
式にして出⼒する。計算式の数値Aは?で出⼒される。
キーボード1~9を押す(Pressed)とランダムで算出した数値Aと⽐較を⾏う
キーボード⼊⼒の数値とランダムで算出した数値Aを⽐較
数値が⼀致していれば、Trueを出⼒
数値が⼀致していなければ、Falseを出⼒
結果を出⼒した後、再び計算式を出⼒する
関数名 処理内容 I/O パラメータ名 型
Plus 引数A,Bを⾜した結果をTotalで返す I A Integer
I B Integer
O Total Integer
関数名 処理内容 I/O パラメータ名 型
RandomCalculation ランダムの数値A,Bを算出
ランダムで計算⽅法を切り替える(⾜し算、引
き算、掛け算、割り算)
ランダムな数値A,Bとランダムな計算⽅法の
計算結果をTotalに設定し、計算した数学記号
をCalcTypeに設定する
O A Integer
O B Integer
O Total Integer
O CalcType String
I:インプット O:アウトプットの略
168. 関数のテスト⽅法(print デバッグ)
275
関数名 処理内容 I/O パラメータ名 型 値 結果
Plus 引数A,Bを⾜した結果をTotalで
返す
I A Integer 8
I B Integer 5
O Total Integer 13
設計書の右側に値、結果を追加
インプットの値を決めて、正解であるアウトプットの値を書く
関数:PlusをBeginePlayで呼び出すように修正、
テスト項⽬の値をインプットに設定して、TotalをPrintStringで出⼒
プレイをして確認
正解であるアウトプットが出⼒されれば
関数が正しく動いている
174. デバッグウィンドウでウォッチの値を確認
281
関数名 処理内容 I/O パラメータ名 型 値 結果
Plus 引数A,Bを⾜した結果をTotalで
返す
I A Integer 8
I B Integer 5
O Total Integer 13
ウィンドウ > デバッグ
デバッグウィンドウが表示される
ウォッチに追加した変数がリストに追加される
PrintStringのブレークポイントまで移動する
デバッグウィンドウで変数の値を確認する
実行トレースを見ると処理の流れも確認できる
176. アウトプットしかない
RandomCalculationのテスト項⽬
283
関数名 処理内容 I/O パラメータ名 型 結果
RandomCalculation ランダムの数値A,Bを算出
ランダムで計算⽅法を切り替える(⾜し算、引
き算、掛け算、割り算)
ランダムな数値A,Bとランダムな計算⽅法の計
算結果をTotalに設定し、計算した数学記号を
CalcTypeに設定する
O A Integer ランダムの値
O B Integer ランダムの値
O Total Integer ⾜し算(A+B=Total)
引き算(A−B=Total)
掛け算(A×B=Total)
割り算(A÷B=Total)
O CalcType String ⾜し算:+
引き算:-
掛け算:*
割り算:/
201. クックしたパッケージを圧縮する(1番⼩さくなる)
Create compressed cooked packagesにチェック
308
https://docs.unrealengine.com/latest/JPN/Engine/Performance/ReducingPackageSize/index.html
パッケージ化したゲームのサイズを小さくする方法(他にも色々ある方法があるが、自己責任で)
パッケージ化 > Packagingカテゴリの▼をクリック Create compressed cooked packageにチェック
合計210 MB > 138 MBまで減った