【Unity】Unity側ではエラーが出ないのにビルドするとエラーが出る

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
プラム
記事: 164
登録日時: 6年前
住所: 東海地方

【Unity】Unity側ではエラーが出ないのにビルドするとエラーが出る

#1

投稿記事 by プラム » 3年前

現在Unityでオンラインゲームを作っている者です。

Unity側では通常通り実行できるのに
ビルドして実行すると、途中で動作が上手くいかなくなります
原因を調べた結果、Unity側ではNullになってないpublicオブジェクトがビルドして実行した倍はNullになっています。

そのオブジェクトはゲームの核となるオブジェクトで、dontdestroyonloadに設定しています。

ちなみにそのNullとなるオブジェクトは
画像
こんな感じで設定しています

なぜビルドした場合だけNullになるのか、全く原因がわかりません。

と成りのトトロ

Re: 【Unity】Unity側ではエラーが出ないのにビルドするとエラーが出る

#2

投稿記事 by と成りのトトロ » 3年前

う~ん。これだけでは何の事か分かりませんね。
>Unity側では通常通り実行できるのに
>ビルドして実行すると、途中で動作が上手くいかなくなります
>原因を調べた結果、Unity側ではNullになってない
>publicオブジェクトがビルドして実行した倍はNullになっています。
Unity側出ないのは例えばゲーム機?どの様にしてNullを調べた。

>そのオブジェクトはゲームの核となるオブジェクトで、dontdestroyonloadに設定しています。
これは詳しく教えてください。

>ちなみにそのNullとなるオブジェクトは
そのオブジェクトはなに?何のプロパティがNullになるのか?

あとスクリプト全体とスクリプトをアタッチしたオブジェクトは何か提示して下さい。それとUnityのVersionとVisualStudioとOS
ルールhttp://dixq.net/board/board.htmlに則った書き方にして下さい。

アバター
プラム
記事: 164
登録日時: 6年前
住所: 東海地方

Re: 【Unity】Unity側ではエラーが出ないのにビルドするとエラーが出る

#3

投稿記事 by プラム » 3年前

語彙力なさ過ぎて伝わりませんでした。すみません

Unityのバージョンは5.4です。

Unity側って言うのは、UnityEditor側のGameViewのことです。
ビルドして動かしているのはPCです。
UnityのAssetのLogViewerというAssetを使ってNullになっていることを調べました。

ゲームの核となる部分というのは、シーン間の情報流通。ネットワーク処理。システムデータが保存されているオブジェクトです。

Nullとなるオブジェクトというか、ゲームの核となるオブジェクトの中に保存されているPublic変数のことです。すみません。

Unity側では
dontdestroyonloadに指定しているオブジェクトのpublic変数がnullにならず通常通り運行できるのですが。
ビルドして実行すると
dontdestroyonloadに指定しているオブジェクトのDate.csのpublic変数がすべてnullになります(ヒエラルキー側で指定しているのに)

Date.csの中身はこちら

コード:


using UnityEngine;
using System.Collections;
using System.Collections.Generic;

[CreateAssetMenu]
public class CardDate:ScriptableObject{

	public int type;
	public int bangou;
	public int ranc;
	public string name;
	public Sprite sprit;
}

//[CreateAssetMenu]
public class Card{
	public int exp;
	public int num;
	public int lv;
	public bool deck=false;
}

//[CreateAssetMenu]
public class Weapon{

	public string Weaponname;
	public int senzaikouka1;
	public int senzaikouka2;
	public int attack;

	public Weapon(){

		Weaponname = "";

		senzaikouka1 = 0;
		senzaikouka2 = 0;
		attack = 100;
	}

}

[CreateAssetMenu]
public class EnemyDate:ScriptableObject{

	public int hp=0;
	public int attack=0;
	public int defens=0;
	public string prefabname="";

}

[CreateAssetMenu]
public class EnemyInitDate:ScriptableObject{

	public int mapnum;
	public Vector3 position;
	public EnemyDate enemydate;

}

[CreateAssetMenu]
public class QuestDate:ScriptableObject{

	public int ranc;
	public GameObject prefab;
	public string names;
}

public class Date : MonoBehaviour {
	
	public QuestDate[] questdate; //これと
	public QuestDate[] questdate2; //これと
	public CardDate[] carddate; //これすべてがnullになる

	// Use this for initialization
	void Start () {

	}

	// Update is called once per frame
	void Update () {
	}

}



預言者

Re: 【Unity】Unity側ではエラーが出ないのにビルドするとエラーが出る

#4

投稿記事 by 預言者 » 3年前

非常識な投稿だったので、内容を削除しました
(by 管理人)

閉鎖

“C言語何でも質問掲示板” へ戻る