質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

8648閲覧

Instantiateでプレハブを動的生成したい

7939p

総合スコア11

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

1クリップ

投稿2016/09/15 08:16

GameObject.Findでスプライトなどを表示していたのですが、
いろいろよくないらしく

プレハブ化したボタンを動的に生成して画面に表示することにしました。

まず、プレハブ化してhierarchyからボタンを削除しました。
その上でResourcesフォルダの直下にbuttonを入れて次のコードを書きました。

GameObject prefab = (GameObject)Resources.Load("button128"); Instantiate(prefab, new Vector3(0, 0, 0), Quaternion.identity);

表示されているエラーです。

ArgumentException: The thing you want to instantiate is null.

他にも似たようなコードはいくつか試しました。

GameObject prefab = (GameObject)Resources.Load("button128"); Debug.Log("prefab:"+prefab); Instantiate (prefab);

確認したことは、

Debug.Logでprefabが表示されない
Resourcesフォルダにbuttonを入っていること
inspectorにbuttonの名前がついていること
同名ファイルがないこと
public GameObject prefab;が書かれていること

エラーが取れません。プレハブの読み込みに失敗していると思うのですが、何がダメなのでしょうか?お手数おかけしますが、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

これでどうでしょうか?

C#

1GameObject prefab = Resources.Load<GameObject>("button128"); 2Instantiate(prefab,Vector3.zero, Quaternion.identity); 3 4//prefabにアタッチしたスクリプトを使いたい場合 5GameObject prefab = Resources.Load<GameObject>("button128"); 6GameObject obj = Instantiate(prefab,Vector3.zero, Quaternion.identity) as GameObject; 7スクリプト名 myScript = obj.GetComponent<スクリプト名>(); 8 9myScript.実装したメソッド(); 10

投稿2016/09/15 12:04

IShix

総合スコア1724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

7939p

2016/09/15 14:41

ありがとうございました。 できました。 お恥ずかしながら、フォルダ名にrが抜けていた凡ミスがありました。。 スクリプトのアタッチ方法は大変参考になりました。
IShix

2016/09/15 14:59

解決してよかったです。いつも間違えるとUnityがすぐ教えてくれるのでエラーの出ないフォルダ名のミスは気づきにくいですよね。あと、ご存じかもしれませんがUnityはビルド時に使用していないものをアプリ内に入れないようにしてくれますが、Resourcesは例外なので使用しないものを残さないようにしてくださいね。 >スクリプトのアタッチ方法は大変参考になりました。 プレハブとのことだったのできっとスクリプトも使うだろうと思ってので追記してよかったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問