久しぶりの記事です。
UEのC++をきっかけに、別の言語にも興味を持ったので勉強してました。
Tシャツが欲しく、リハビリにも良さそうだったのでぷちコンに参加しました。
あまり時間がとれなかったので、細かいところは手を抜きました。
ぷちスタの課題を通して、最低限のものを作成しました。
無意味にマイクをオンにしてしまった。声が入っていないでよかった。
今回の成果
ゲーム遷移時のデータやり取り
ステージを変更したときのデータのやり取りを、自分なりに考えて作ってみた。
・Game InstanceにはStage Numberと各ステージのスコアの変数を作成。
・構造体でGameModeに各ステージの情報(残り時間、初期スピード、スタート時に流すLevel Sequenceなど)を設定。ゲーム遷移時に、Stage Numberに合わせたステージの情報を取得。
・ステージ開始時に、ステージに合わせたLevel Sequenceを再生。(今回は同じものを使用)
・ステージクリア時、スコアをGame Instanceに収納、Stage Numberを更新。
・最後のステージをクリアしたときに、リザルト画面で全てのステージのスコアを表示。
Level Sequenceの使用
ほとんど経験がないので、とりあえず使えば経験値はあがる。複数のカメラを使ってみた。
カメラの切り替え時にイベントを作成しUIを切り替えた。
手探りで無理やり作った。
Bind Event to On Finishedのノードが便利だった。
Respawn時の処理
Event OnRestartPlayerのノードが便利だった。リスタート時、死ぬ前のスピードに戻す。
死亡時の処理は下の動画で紹介されてたやつ。
GameMode
今回意図的に、GameModeに処理をまとめてみた。処理をまとめるのは良くないと聞いていたので、なんとなく今までは分散させていた。
だが、今回は処理をまとめることで作りやすさを感じた。
処理をどこに書くべきか判断するための知識が必要。
個人で小規模のものをつくるので、作りやすさを判断基準として優先させても良いかも。
配列を使っておいて、繰り返し処理を使っていないのが気になる。
ぷちスタ通常課題
カウントダウンタイマー
意味天井を張る。(ここでは小数点以下切り上げの意味で使っている。)
発音siːl(米国英語)
関連
天井照明ceiling lights(和製英語かも)
四捨五入round
切り下げfloor
下記の動画で説明されている、Datetime-DatetimeからTimespanを出す方法はなぜか使えなかった。
Datetime同士の引き算ができない。
遠くからも視認できるキーアイテム
ナイアガラで作成。
タイマー加算アイテム
タイマー0でゲームオーバー
カウントダウンのUI
Text Blockの文字をGame modeから操作。
アセット追加
以前作成したキーボーを追加。
効果音・BGM
未達成。楽器も趣味なのでBGMは自作したい。
今は音楽理論を学習中。
スタート画面
リザルト表示
BP_MyGameMode
GameModeにほとんど処理を記述。Game Clearのコメントの部分。
UI_Goal
UI_Result
テキストの変更はGameModeに記述。
ぷちスタ挑戦課題
スタート・ゴール演出
Level Squenceはほとんど使ったことがない。
手探りで適当に作ってみた。
直感的に、ある程度使えることが分かったのが成果。
ゴール演出は作っていない。
LS_Start
LS_StartのSquencer Events
アイテムでスピードアップ
スピードが下がる場所
はじめはもう少しシンプルに処理を書いていたのだが、落ちたスピードがエリアから出てももとに戻らない現象が起きたので、処理を変更した。
上手く動作していたが、キーボーの頭をつけたときから上手く動作しなくなった。
エリアに入ったときのスピードを記録してスピードを落とし、エリアから出るときに元に戻すようにしていたのだが、スピードが落ちた状態で記録されてしまったことが原因だと考えられる。
減少したスピードはUIにはだすが、それ自体を変数に保存しないようにした。
ジャンプ台
前回の応募作
前回(第17回)はじめてぷちコンに参加した。
技術的には今よりも拙かったけど、かなり頑張った。
記事にはまとめなかったので、とりあえず動画だけ載せておく。
紹介してもらえたのは嬉しかった。
過去に作ったものを見るのは恥ずかしいが、何か作るうえで宿命だと思うのであきらめる。
Twitterしてます
ブログの更新をお知らせ
コメント