【3Dゲームエンジン】Unity質問スレッド33
■ このスレッドは過去ログ倉庫に格納されています
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他
次スレは>>950以降にできるだけ早く(できれば回答者が回答した後にでも余裕を持って)建てて下さい。
■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/
●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・マニュアル
http://docs.unity3d.com/ja/current/Manual/index.html
・チュートリアル
http://unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
http://docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
http://unity3d.com/jp/unity/faq
・MSDN
http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
前スレ
【3Dゲームエンジン】Unity質問スレッド32
http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/ ボタンからの入力を受けていないだけとかはないですか?
UIから、その該当スクリプトへのコールがかかっていないとか?
入力をInputにして、
if?(Input.GetKeyDown?(KeyCode.Space))?{
Debug.Log("Input OK");
GameObject A = GameObject.Find("objA");
Debug.Log(A);
}
を追加して、
スクリプトが機能しているかどうか、
オブジェクトを取得できているかどうかを確認してみてください すみません、objAからobjBの方を見たいんですね
objAのスクリプトのUpdate()内に、
if (Input.GetKeyDown (KeyCode.Space)) {
Debug.Log("Input OK");
GameObject B = GameObject.Find("objB");
Debug.Log(B);
}
を追加して、
スクリプトAが機能しているかどうか、
オブジェクトBを取得できているかどうかを確認してみてください
ボタンからの呼び出しが届いていないだけであれば、
上記でオブジェクトを取得できるはずですが・・・
シーン2では、
objA:DontDestroyによって、シーン1から持ち越し
objB
・・・が、Hierarchy上に同時に並んでいるわけですものね? 各オブジェクトのそれぞれのスクリプトで行っていることが良く分からないのですが、
Scene1
objA-A.cs:DontDestory
ボタン→LoadScene("Scene1")
objC-C.cs:DontDestory
↓
Scene2
objA-A.cs:DontDestory(Scene1から)
メソッド@→A = Find("objB") →NG
objC-C.cs:DontDestory(Scene1から)
Aのメソッド@→A = Find("objB") →OK
objB-B.cs
ボタン→Aのメソッド@→A = Find("objB") →OK
こういうことなのでしょうか??
A = Find("objB")は、
GameObject A = GameObject.Find("objB");のことです
メソッド@を呼ぶタイミングはどうやって遷移後に指定しているのでしょうか?
まさか、LoadScene("Scene1")と同じフレーム内で呼んでいないですよね?? ■ このスレッドは過去ログ倉庫に格納されています