[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild1 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
135: 2018/07/03(火)18:43 ID:DgOGkLki(2/3) AAS
で、>>134を
while (true)
{
// 子要素を全て取得する
for (int i = 0; i < transform.childCount; i++)
{
Transform shotPosition = transform.GetChild(i);
if(title.activeSelf == false){
// ShotPositionの位置/角度で弾を撃つ
spaceship.Shot(shotPosition);
省19
136(1): 2018/07/03(火)18:43 ID:DgOGkLki(3/3) AAS
なにが間違っていますか?
教えてください。
137: 2018/07/03(火)19:01 ID:L0TgVbu0(1) AAS
>>136
死ねガイジ
138(1): 2018/07/03(火)19:58 ID:bkI+tY6O(1) AAS
エラー出てるのどの行?
139(2): 2018/07/03(火)20:02 ID:m6+Emxdh(1) AAS
titleはちゃんとfindできてるのか?
140: 2018/07/03(火)20:16 ID:BqokYmSM(1) AAS
gameobject.findって非アクティブも検索するんだったっけ?
141: 2018/07/03(火)21:28 ID:Oy6MCkRt(1) AAS
しない
142(1): 弟子 ◆rZPPjYuxmQ 2018/07/03(火)22:33 ID:wgFi8W22(1) AAS
>>134
このコードって恐らく公式の
外部リンク:unity3d.com
のコードでしょうか?
だとすると
「弾を撃つ必要がない時はyield break;を使用してコルーチンを終了させます。」
という具合に書いてるので、これを利用するとですね
// canShotがfalseの場合、ここでコルーチンを終了させる
if (spaceship.canShot == false) {
yield break;
省2
143(1): 2018/07/03(火)22:52 ID:L1TMFUeX(1) AAS
すみません
外部リンク:assetstore.unity.com
のアセット使ってトグルボタンぽちぽちしたいのですが、ボタンが動きません
どう使えばいいのでしょうか?
144(1): 2018/07/04(水)00:28 ID:RvZnsCPI(1/6) AAS
>>139
" title = GameObject.Find("Title"); "
を記載しているので、できていると思っているのですが、
NULLが来てます的な警告の先がこの場所みたいなので
Findがうまくいっていないかもしれません。
しかし、
private GameObject title;
title = GameObject.Find("Title");
と、たったこれだけで他所のゲームオブジェクトをFindできるんですよね?
それ以外にしなければならないことありますか?
省7
145(2): 2018/07/04(水)00:31 ID:RvZnsCPI(2/6) AAS
>>138
>>139
NullReferenceException: Object reference not set to an instance of an object
Enemy+<Start>c__Iterator0.MoveNext () (at Assets/Scripts/Enemy.cs:36)
この警告先は
" if (title.activeSelf == true){ ”
この部分みたいです。
146(1): 2018/07/04(水)00:33 ID:RvZnsCPI(3/6) AAS
ちなみに、エネミーを倒したあとに、警告が出ます。
エネミーを倒すたびに警告が出る状態です。
147: 2018/07/04(水)01:55 ID:W/Y7Ww/v(1) AAS
AA省
148(1): 2018/07/04(水)06:27 ID:PcbSJbIy(1) AAS
>>145
titleの中がぬるぽなんじゃ。
取得はどこだ?titleが居るってかactiveの時に取ってる?じゃないとfindで取れないぞ。
149(2): 2018/07/04(水)07:46 ID:TALB3D9+(1) AAS
titleオブジェクトの名前がTitleじゃない(誤記)
Titleを非表示でなくdestroyしている
title取得以前に弾を撃とうとしている又は何度も取得しようとしている
非表示以降に生成されるenemyがある
多分このどれか
>>146見るとenemyが複数回生成されるみたいだから少なくとも最後は引っかかる
150: 2018/07/04(水)10:55 ID:GdNJLKay(1) AAS
参考にしてみるといい外部リンク:goo.gl
151(1): 弟子 ◆rZPPjYuxmQ 2018/07/04(水)11:01 ID:+Bj9nh1d(1/3) AAS
>>144
>>145
さてでは問題は他でも指摘されているように「Title」オブジェクトがちゃんと指定されているか?
という事で、これの一番簡単な解決は
「public Text Title」 ←これをインスペクタで指定してあげる
(Textを使う場合、Using Unity Engine.UIを指定する)
そうすれば「Start」関数で「title = GameObject.Find("Title"); 」は必要なくなります
恐らく、Findが失敗しているからNullエラーとなているのかと思われますが
Findが成功しているかどうか簡単に見るにはFindの後に「print(title.name)」でもしてみると解ります
152: 弟子 ◆rZPPjYuxmQ 2018/07/04(水)11:06 ID:+Bj9nh1d(2/3) AAS
>>143
有料アセットなので試せないのでなんとも・・・
恐らく記載のバージョンでやってみて動けば、現在の143さんのバージョン違いによる事じゃないかなとしか
153(2): 2018/07/04(水)16:35 ID:RvZnsCPI(4/6) AAS
>>148
>>149
>>151
destroyしていないですし、
Using Unity Engine.UI無しでも取得できてる箇所もあるのでよくわからず、、
初心者のためか、どうしてもわかりません。
現在のゲームの一式Zipです、Unityで開いていただければ覗けると思います
8Mしか無い小さなファイルですので確認して頂いてよろしいでしょうか?
素材は公式チュートリアルのもので、ソースは2017に合わせて変更しています
外部リンク:ux.getuploader.com
省4
154(3): 2018/07/04(水)17:28 ID:30JL9X4X(1) AAS
>>153
見たけど>>149の後半そのままじゃないか、確認してくれよ……
1) プレイヤーの操作でTitleオブジェクトがactiveでなくなる
2) enemyが生成されtitleに代入しようとするもactiveでないオブジェクトはFindで引っかからず空のまま
3) titleの中身がnullの状態で静的でない変数を呼び出したのでNullReferenceExceptionで止まる
上下前次1-新書関写板覧索設栞歴
あと 848 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.013s