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

妹でもわかるUnrealEngine4

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

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

Event Reply(イベント応答)を設定する

ウィジェット ブループリント

f:id:una_unagi:20151124223518p:plain

LogBlueprint:Warning: [compiler メニュー] 警告 Event Reply Return Value should not be empty. Return a reply such as Handled or Unhandled.
LogBlueprint:Warning: [compiler メニュー] 警告 [0074.05] メニュー のコンパイルに成功しましたが、1 個の警告が出ました [ 302 ミリ秒]
BlueprintEditorCompileResults:Warning: 警告 Event Reply Return Value should not be empty. Return a reply such as Handled or Unhandled.
BlueprintEditorCompileResults:Warning: 警告 [0074.05] メニュー のコンパイルに成功しましたが、1 個の警告が出ました [ 302 ミリ秒]

妹「ウィジェットにずっと前からこんな警告が出てて、特に何かあるわけでもないから放っておいたんだけど、やっぱり気になるから直したいと思う」

「原因はわかってるの?」

f:id:una_unagi:20151124224256p:plain

f:id:una_unagi:20151124223728p:plain

妹「マウスクリックした時に呼び出す関数があるんだけど、これのReturnValueを設定してないから怒られてるようなメッセージが出ている。でもなんか設定しようにもEvent Replyとかいう謎の型で、上手くピンに繋がらないんだよ」

「ReturnValue、関数の戻り値がないのか。それはまあ、ないと駄目かも。でも変数を作っても何も設定出来ないし、MakeEventReplyだと別の警告が出るし、なんなんだろこれ……」

妹「そこで1つ名案を思いついて、戻り値が設定出来ないなら、戻り値自体をなくしてしまえばいいということで、消した」

「消しちゃったの!?」

妹「そしたらコンパイル自体できなくなって……Undoしてコンパイルしなおしたらクラッシュするということがわかった」

「それは消したら駄目だよ。自分で作って自分で呼び出してる関数ならそういうのもいいけど、システム的に作られる関数はまずい。マウスクリックにはそういう引数と戻り値の関数を使うって決まってるから。増やしても減らしてもいけない。だからってクラッシュまでしなくてもいいとは思うけど」

妹「名案じゃなかった……」

forums.unrealengine.com

「警告メッセージで検索するとこういう情報が引っかかった。よくわからないけどUnhandledというノードをくっつけておけば良さそう」

f:id:una_unagi:20151124225107p:plain

「日本語版だとイベント応答になってるから、Event Replyでは引っかからなかったみたい。他にも同じカテゴリのノードがいくつかあるけど、今回は特に何もしないわけだから、このUnhandledでいいと思う」

f:id:una_unagi:20151124225230p:plain

妹「おお。久々に緑のチェックがついたコンパイルボタンになった。なんかよくわからんけど直ったみたいだ」