読者です 読者をやめる 読者になる 読者になる

妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

キーボードだけでウィジェットを操作する

妹「アクションゲームだとマウス使わないのに、ウィジェットのだけとこだけマウスで押さないと駄目なのは困るから、自分で操作できるようなボタンを作った」

f:id:una_unagi:20151120214151p:plain

f:id:una_unagi:20151120214338g:plain

妹「本当はボタンを押した時と押してない時の、へこんだような絵とかにしたかったんだけど、上手くかけないから、とりあえずそこにカーソルがあることがわかるように、ちょっと大きく表示するようにした。でもちょっとわかりにくいかも」

「ボタンの絵もPhotoShopとか加工すれば作れると思うけど、これでもゲーム的には問題ないんじゃないかな。ちょっと揺らすとか、他のボタンを暗く表示するっていう手もあるね。中身はどんな感じなの?」

f:id:una_unagi:20151120214522p:plain

f:id:una_unagi:20151120214526p:plain

妹「まずはボタン用のウィジェットを作った。ボタンの下地になってる四角い絵と、アイコン用の絵をOverlayで重ねることで、いい感じをかもしだしている。そうやって自作したボタンをUniFormGridPanelできちんと並べるようにした。もちろんゲームで使う時はボタンの絵は全部別々のにするけど」

「ボタンの下地とアイコンを分けたのはいい考えだと思うよ。あとからデザイン変更とかしやすいし、素材作るのも楽になるし」

f:id:una_unagi:20151120215319p:plain

f:id:una_unagi:20151120215328p:plain

「グラフの部分はこんな感じで、ボタンを配列に入れて、選択してるボタン番号を変数にして、それでどのボタンにカーソルが来てるかわかるようにしてる。大きさはよくわからなかったから、いったん全部普通の大きさにしてから、新しく選んだボタンを大きくしてる」

「ボタンの大きさを変えるところは関数か何かにした方がいいかもね。同じような処理が2回あるから。ボタン全部やる必要はないから、変数に新しいボタン番号を入れる前に、その番号のボタンの絵を元に戻しておく考え方もあるけど、それはどっちでもたいして変わらなさそう」

imoue.hatenablog.com

妹「キーボード入力は、主人公の入力イベントをポーズ中でも受け取れるようにして、ポーズ中だとウィジェットのカスタムイベントを呼び出す仕組みになってる。このあいだ見つけた、ポーズ中に操作する方法を使ってる」

「左用と右用は処理でほとんど同じで、プラスとマイナスが違うだけだから、兄謹製のマクロとか使うともっと簡単に書けそうな感じが」

imoue.hatenablog.com

妹「その辺はとりあえず動かせることを確認するのが目的だったからそこまで深く考えてないよ。まだ上と下でもカーソル動かせるようにしないといけないから、その後で考える」