#調べてみてわからないこと
https://www.sejuku.net/blog/53536にてsetActiveの使い方を参考にオフになったゲームオブジェクトをオンにしたいのですが、オフになっているオブジェクトはスクリプトが機能しないため this.gameObject.SetActive (true); は機能せず、他からFindで探すこともできず永遠にオンにできないと思うのですがどうなのでしょうか?
#やりたいこと
現在2Dのゲームを作っており、プレイヤーが攻撃ボタンを押した瞬間プレイヤーの目の前に子オブジェクトのコライダーがあらわれて攻撃の処理をするということを実現したいです。
そのために通常時はオフの子オブジェクトが攻撃時にのみ一瞬だけオンになるようにしたいです。
https://www.sejuku.net/blog/53526
一応そのサイトの最後の方で続きがあってそこのページに飛ぶと
Transform.Findという関数があるので試してみてはいかがでしょうか
※自身は無いので回答には記述しません
ご回答ありがとう不ございます。
一応試してみたのですがどうやらTransFormにSetActiveの定義が含まれておらず、使用できない表示になってしまうようです。
このことから①GameObjectとしてなんらかの形で非アクティブなオブジェクトを取得する か、②Transformで取得した後にTransformバージョンのSetActive的な関数で取得する、の2つの方法を引き続き調べていきたいと思います。
transform.Find("TestTest").gameObject.SetActive(true);
こういうことも出来ますよ
ただ回答されている方の方法がいいと思いますFind系は重いので...
なるほど、transformでFindも使えるのですね!
ただ処理が重いと、、
Findを使わない方法で模索してみます。
ご回答ありがとうございます。
回答2件
あなたの回答
tips
プレビュー