前提・実現したいこと
UnityでPC向けのゲームを作成しています。
ゲームウィンドウが非アクティブになった場合に自動ポーズ機能を追加したいと思い、表題のようにゲームウィンドウがアクティブかどうかを取得したいと考えました。
試したこと
C#で作成しているため対象言語でウィンドウがアクティブかどうかのクラスを調べてみると、「Form.ActiveForm」がまさにその機能だということだったので、下のサイトを参考にDLL(System.Windows.Forms.dll)を「Editor\Data\Mono\lib\mono\2.0」から「Assets\Plugins」にインポートして追加しました。
https://qiita.com/otochan/items/0f20fad94467bb2c2572
発生している問題・エラーメッセージ
Form.ActiveFormがNULLになって返ってきてしまいます。
ビルドしてexe形式で実行しても同様のログが吐き出されました。
NullReferenceException: Object reference not set to an instance of an object
該当のソースコード
(対象箇所のみ抜粋)
C#
1using System.Windows.Forms; 2~~~ 3private Text text; 4void Awake() 5{ 6 text = transform.Find("Text").GetComponent<Text>(); 7} 8void Update() 9{ 10 // デバッグ用に画面に表示する 11 text.text = Form.ActiveForm.ToString(); 12}
補足情報(FW/ツールのバージョンなど)
Unity 2018.3.5f1
どこかが間違っていたり、他の方法の提案などご教授していただけると助かります。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/19 11:31
2019/09/19 11:40
2019/09/20 02:52