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

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

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

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

Q&A

解決済

1回答

145閲覧

セットされている魔法のイメージを装備画面に生成する

退会済みユーザー

退会済みユーザー

総合スコア0

Unity

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

0グッド

0クリップ

投稿2020/03/25 08:34

現状

ボタンを押すことで魔法を習得して3つまでセットできる
魔法セット画面にhorizontal layout groupをつけている

実現したいこと

魔法セット画面で所持している魔法ボタンを押した時にその魔法の画像を3つ並べて生成したいので押したボタンの画像を子要素として生成したい

該当コード

unity

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5 6public class Player : MonoBehaviour 7{ 8 9 // 10 public float span = 2; 11 public float delta = 0; 12 private GameObject Magic; 13 private GameObject nearObj; 14 public List<string> magic = new List<string>(); 15 public int i; 16 public List<string> unLearnedMagic = new List<string>(); 17 int count = 3; 18 private GameObject selectmagic; 19 private GameObject childmagic; 20 public GameObject parentChoice; 21 public GameObject ChoiceMagicCanvas; 22 public GameObject SetMagic; 23 24 // 25 public GameObject Controller; 26 public GameObject Menu; 27 28 public void Awake() 29 { 30 unLearnedMagic.Add("MagicButton/FireBallButton"); 31 unLearnedMagic.Add("MagicButton/IceBallButton"); 32 unLearnedMagic.Add("MagicButton/EathBallButton"); 33 while (count-- > 0) 34 { 35 36 int index = Random.Range(0, unLearnedMagic.Count); 37 string ransu = unLearnedMagic[index]; 38 selectmagic = (GameObject)Resources.Load(ransu);// 39 childmagic = Instantiate(selectmagic, transform.position, Quaternion.identity); 40 childmagic.transform.parent = parentChoice.transform; 41 Debug.Log(ransu); 42 childmagic.GetComponent<Button>().onClick.AddListener(() => OnRegisterMagic(ransu)); 43 unLearnedMagic.RemoveAt(index); 44 } 45 } 46 47 void Start() 48 { 49 animator = this.gameObject.GetComponent<Animator>();// 50 magic.Add("Magic/NomalBall"); 51 i = 0; 52 Magic = (GameObject)Resources.Load(magic[i]);// 53 } 54 55 void Update() 56 { 57 if (velocity.magnitude < 0.1 || moveVector != new Vector3(1, 1, 1)) 58 { 59 Magic = (GameObject)Resources.Load(magic[i]);// 60 } 61 62 } 63 64/////////////////// 魔法セット部分(ボタンにセット) ///////////////////////////// 65 // クリックした魔法名を引数で渡す 66 public void OnRegisterMagic(string magicName) 67 { 68 // 既に登録済みの魔法を選択した場合はリストから削除する 69 foreach (var v in magic) 70 { 71 if (v == magicName) 72 { 73 magic.Remove(v); 74 return; 75 } 76 } 77 78 // セット数は三つまで 79 if (magic.Count < 3) 80 { 81 magic.Add(magicName); 82 OnSetMagic(); 83 } 84 } 85//////////////////////////////////////////////////////////////////// 86 87 public void OnSetMagic() 88 { 89 90 } 91 92 public void OnClickMenu() 93 { 94 Controller.SetActive(false); 95 Menu.SetActive(true); 96 } 97 public void MenuBack() 98 { 99 Controller.SetActive(true); 100 Menu.SetActive(false); 101 } 102 103}

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

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

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

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

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

sakura_hana

2020/03/26 01:33

https://teratail.com/help/question-tips こちらを参考に、調べたこと・試したこと・何が疑問なのかを明確に記載してください。 (現状だと「OnSetMagicメソッドに画像を表示するコードを書いてください」が回答になります)
guest

回答1

0

ベストアンサー

リソースにオブジェクトを作って子要素として生成した

unity

1コード 2 3 public void SettingMagic(string setmagic) 4 { 5 GameObject magicimage= (GameObject)Resources.Load(setmagic); 6 GameObject setchild= Instantiate(magicimage, transform.position, Quaternion.identity); 7 setchild.transform.parent = SetMagic.transform; 8 }

投稿2020/03/26 10:43

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問