unityでゲーム作りたい(Help!) (416レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
346(1): 弟子 [sage] 2020/05/14(木) 06:49:17.17 ID:1K896jy3(1/7) AAS
>>344344(2): くまじょ [sage] 2020/05/14(木) 05:33:19.73 ID:6hw1sJEU(1/12) AAS
ScriptPai pai = Instantiate(prefabPai).GetComponent<ScriptPai>();
Destroy(pai.gameObject);
として実際見た目も消えているのに
GameObject.FindGameObjectsWithTag("Pai");
で消したはずのも検出してしまう
Destroy(pai.gameObject);を実行前にタグ名を変えておくことでごまかすけど
それ実行したらヒエラルキーにゲームオブジェクト出来てるとおもうけどどうでしょ
まずスクリプト型オブジェクトの取得にinstantiate の帰り値指定してるけど、そもそもinstantiate はゲームオブジェクトを生成する命令
そのためスクリプトオブジェクトを破棄してもinstantiate で生成されたオブジェクトは破棄してないから残ってると推測
複雑にしないで順序だててやればいいかと
355: 弟子 [] 2020/05/14(木) 21:24:59.11 ID:1K896jy3(2/7) AAS
まったくわからんのだが
>>349349(3): くまじょ [sage] 2020/05/14(木) 20:17:51.51 ID:6hw1sJEU(3/12) AAS
GameObject[] goPais;
goPais = GameObject.FindGameObjectsWithTag("Pai");
if(goPais.Length != 0)
{
Debug.Log("★-1- おかしな現象が起きてるぞ goPais.Length=" + goPais.Length);
}
ScriptPai pai = MakePai(0, 0, 0);
goPais = GameObject.FindGameObjectsWithTag("Pai");
if (goPais.Length != 1)
{
Debug.Log("★-2- おかしな現象が起きてるぞ goPais.Length=" + goPais.Length);
}
//pai.tag = "Player"; // このあとDestroyしてるのにGameObject.FindGameObjectsWithTag("Pai");で見つけてしまう
Destroy(pai.gameObject);
goPais = GameObject.FindGameObjectsWithTag("Pai");
if (goPais.Length != 0)
{
Debug.Log("★-3- おかしな現象が起きてるぞ goPais.Length="+ goPais.Length);
}
のソースには
m_goPais がないんだけど、>>354354(1): くまじょ [sage] 2020/05/14(木) 20:51:02.09 ID:6hw1sJEU(7/12) AAS
>>350
訂正
Destroy() した直後は生きているから
m_goPais = GameObject.FindGameObjectsWithTagが見つけてしまう
直後ではなくて後で
m_goPais[0]に何かするとすでにdestroyされているのでエラーになる
で突如でてきて、に
m_goPaisに何かするとすでに ってさ
もうね、全部情報だしなよ
そんな自分しか知らない情報でここに書かれても、何したいの?
混乱させたんだね くらいしか思えないわ
プログラム作るならも少し仕様を決めて作ろ
356: 名前は開発中のものです。 [] 2020/05/14(木) 21:27:24.75 ID:1K896jy3(3/7) AAS
くまじょさんは、自分はおっちょこちょいでよくからんけど、Unityで偽情報流したいって自己紹介してる感じかな?
もちっと簡潔にしてシンプルなコードで試せばいいと思うけど
357(1): 弟子 [] 2020/05/14(木) 21:31:05.74 ID:1K896jy3(4/7) AAS
あ、そうそう帝王さんってのもボタンのBool値が欲しいってさ
何のBool?
ActiveなのかEnableなのぁ、具体的に書いてねって言っても
Wait処理とか出てきたし
え、最初からそんなの書けよって事
なんで後出しじゃんけんするかなぁ
パラメータも3,4欲しいって
え?プログラム作るのにパラメータの数決まってないの?
それでどうやってIF作るのさ?
もちっと仕様ちゃんと考えよう
358: 弟子 [sage] 2020/05/14(木) 21:46:21.58 ID:1K896jy3(5/7) AAS
まぁここ見てる人たちは
参考にしないでね
361(1): 弟子 [sage] 2020/05/14(木) 22:37:11.42 ID:1K896jy3(6/7) AAS
>>359359(1): くまじょ [sage] 2020/05/14(木) 22:21:37.30 ID:6hw1sJEU(8/12) AAS
余計な部分はかえって分かりにくくしてしまうので忘れてください
paiはスクリプトコンポーネント
paiには"pai"というタグがついている
Destroy(pai.gameObject);
goPais = GameObject.FindGameObjectsWithTag("Pai");
でGameObject.FindGameObjectsWithTagが
pai.gameObjectを見つけてしまう
原因を調べてたら
どうやらこう動作をするものなので
回避する必要がある
ということがわかったという話
すまんスクリプトコンポーネント自体にタグの設定など無いと思う
タグはゲームオブジェクトに付けられるものだと思うのだが
とうやって浸けたのかそのssとか方法を記載してもらえますか?
試して見たいのですよ
明日になるけど
365(1): 弟子 [sage] 2020/05/14(木) 23:07:48.32 ID:1K896jy3(7/7) AAS
多分理解してないだけだと思うけど
公式のマニュアルね
外部リンク[html]:docs.unity3d.com
破壊は、現在のフレームのアップデート(Update)処理後に行われます
一応即破棄には
外部リンク[html]:docs.unity3d.com
もあるけどこちらはエディタよう
同一フレームとかの理解しましょ
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.334s*