5日ほど前に次を書いた。

この中でUKismetSystemLibrary::PrintStringについて言及した。これで画面にログを表示できる。これはブループリントのライブラリをC++から利用することになるらしいが、C++純正のものがあったらいいな、とググってみたら次のサイトがヒットした。
素晴らしい。
公式のAPIドキュメントを眺めて探し出すのは大変だから、検索した方が早い。それでもできるだけAPIを把握しようとAPIリファレンスの頭から眺めたりもしているんだが、数が尋常じゃないから、なかなか把握しきれるもんじゃない。
話を戻すが、UEngine::AddOnScreenDebugMessageを使えば、UKismetSystemLibrary::PrintStringと同じように表示できる。上記サイトにあるように GEngineポインタから呼び出せる。っても、なんだそのポインタは?となった。VS2022で宣言を見てみたら Engine.h にあった。
/** Global engine pointer. Can be 0 so don’t use without checking. */
extern ENGINE_API class UEngine* GEngine;
定義は Engine.cpp にあった。
/**
* Global engine pointer. Can be 0 so don’t use without checking.
*/
ENGINE_API UEngine* GEngine = NULL;
とりあえずNULLで初期化されていて、コンストラクタのどこかで設定されているんだろう。プログラム読んでないけど。
コメントには0の場合もあるからチェックして使えとあるが、一度設定されたら0に戻されることはないはず。適当に使わせてもらう。
コメント