前提・実現したいこと
Unityでゲームを作ろうとおもっております。
2D Object>Spritesで生成したオブジェクト名"Char"に
スクリプトから別の画像を貼り付けたいです。
Hierarchyには
Char(2D Object>Sprites Spriteに”C001”)
GameObject(ImageControl.cs)
AssetにTexturesフォルダ以下に
C001.png
C002.png
があります!
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
元の画像(C001)が消えて、新しい画像(C002)は表示されない
該当のソースコード
Unty
1using UnityEngine; 2using System.Collections; 3 4public class ImageControl : MonoBehaviour 5{ 6 //定数定義 7 const string BASE_TEXTURE = "Textures/C002"; 8 9 void Start() 10 { 11 //テクスチャを貼りたいゲームオブジェクトの配列生成(タグ名は「Char」) 12 GameObject spriteObjects = GameObject.Find("Char"); 13 14 //スプライト画像の配列生成(テクスチャ画像の読み込み) 15 Sprite sprites = Resources.Load<Sprite>(BASE_TEXTURE); 16 17 //ゲームオブジェクトのスプライトレンダラ設定を取得 18 GameObject sp = GameObject.Find("Char"); 19 SpriteRenderer spObRender = sp.GetComponent<SpriteRenderer>(); 20 21 spObRender.sprite = sprites; 22 23 } 24 25 void Update() 26 { 27 28 } 29
試したこと
https://qiita.com/ntkgcj/items/61faa07e5a24c59fa950
こちらを参考にしていたのですが、配列など組み込まれていて、
理解が及びませんでした。
foreach (GameObject sp in spriteObjects)
ここの一文で宣言している”sp”がキモだとは思うのですが。
動かすと画像は消えるので、ロードしたデータが間違ってるのか、
Charのspriteへの渡し方が間違ってるかですよね。
ご指導よろしくお願いします。
指摘いただいてResouces.Loadの後にデバッグ文を追加しましたが
Debug.Log("sprites :" + sprites);
内容が表示されていないですね
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/05 12:54
2021/03/05 13:14 編集
2021/03/05 13:17
2021/03/05 13:19
2021/03/05 13:32
2021/03/05 13:53 編集
2021/03/05 14:02
2021/03/05 14:09