前提・実現したいこと
類似の質問などを検索しても解決しなかったため、質問させていただきたいです。
http://teriyaki398.hatenablog.com/entry/2018/10/09/124336
上記のサイトを参考に、脱出ゲームを作ろうと考え、アイテム欄の実装を進めています。
発生している問題
記載の通りに手順を進めたのですが、最後の手順で、オブジェクトをクリックしても削除はされるのですがアイテム欄が全く更新されません。
参考元のサイトでは、オブジェクトをクリックするとクリックしたオブジェクトの名称を参照し、Resourcesフォルダ内から同名の画像ファイルを持ってきてButtonのSpriteを置き換えてくれる、ということになっているのですが、それが正しく行われません。
該当のソースコード
詳しくは参考元のサイトを参照していただきたいのですが、アイテムをクリックして取得することに大きく関係しているスクリプトは以下です。
C#
1public void searchRoom(){ 2 selectedGameObject = null; 3 ray = mainCamera.ScreenPointToRay(Input.mousePosition); 4 if(Physics.Raycast(ray, out hit, 10000000, 1 << 10)){ 5 6 selectedGameObject = hit.collider.gameObject; 7 itemList.add(selectedGameObject.name);//実行されていない? 8 **Destroy(selectedGameObject);**//この部分は実行される 9 10 } 11}
C#
1public void add(string item_name){ 2 3 for(int i=0; i<btnList.Count; i++){ 4 string im_name = btnList[i].GetComponent<Image>().sprite.name; 5 if(im_name == emptySymbol){ 6 btnList[i].GetComponent<Image>().sprite = Resources.Load("Image/" + item_name, typeof(Sprite)) as Sprite; 7 break; 8 } 9 } 10 11 }
試したこと
オブジェクトの名称と、Resources/Imageフォルダ内のSpriteの名称はしっかり一致させています。大文字と小文字なども確認しました。
参考元のサイトとはunityのバージョンが違うので、それが原因なのでしょうか(現在では使用できない記述がある、など)
クラスをうまく機能させられていないか、あるいはResources/Imageフォルダをうまく参照できていないかと考え、該当ワードで検索を繰り返しましたが解決には至りませんでした。
もし解決方法もしくは代替案などご存知の方がいましたら、知恵を貸していただきたく思います。
よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
Unity 2019.3.15f1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/26 10:27