現状
リソースから取り出した3つのボタンを画面に生成するが全てのオブジェクトが重なってしまう
ボタンを押しても関数が設定されていないので何も起きない
実現したいこと
取り出したボタンを順に横に並べたい
動的に生成したボタンの関数を指定したい(インベントリにあるたくさんのボタンから選択したボタンに対応するボタンの色を明るくしてボタンを有効にして押せるようにする)
unity
1コード 2using System.Collections; 3using System.Collections.Generic; 4using UnityEngine; 5using UnityEngine.UI; 6 7public class Player : MonoBehaviour 8{ 9 // 10 public float moveSpeed; 11 private Vector3 velocity; 12 public Joystick joystick; 13 public Animator animator; 14 public Image Aboid; 15 public float avoidtime = 5; 16 public float invincible = 2; 17 public float deltainvincible = 0; 18 19 // 20 public float span = 2; 21 public float delta = 0; 22 private GameObject Magic; 23 private GameObject nearObj; 24 public List<string> magic = new List<string>(); 25 public int i; 26 public List<string> unLearnedMagic = new List<string>(); 27 int count = 3; 28 public GameObject parentChoice; 29 30 // 31 int maxHp = 100; 32 int currentHp; 33 int maxMana = 100; 34 int currentMana; 35 public Slider hpslider; 36 public Slider manaslider; 37 private GameObject damageUI; 38 39 40 // 41 public GameObject Controller; 42 public GameObject Menu; 43 44///////////////////////////////////////////////////////////// 45 public void Awake() 46 { 47 unLearnedMagic.Add("MagicButton/FireBallButton"); 48 unLearnedMagic.Add("MagicButton/IceBallButton"); 49 unLearnedMagic.Add("MagicButton/EathBallButton"); 50 while (count-- > 0) 51 { 52 53 int index = Random.Range(0, unLearnedMagic.Count); 54 55 string ransu = unLearnedMagic[index]; 56 GameObject selectmagic= (GameObject)Resources.Load(ransu);// 57 GameObject childmagic=Instantiate(selectmagic, transform.position, Quaternion.identity); 58 childmagic.transform.parent = parentChoice.transform; 59 Debug.Log(ransu); 60 } 61 } 62//////////////////////////////////////////////////// 63 64// クリックした魔法名を引数で渡す 65 public void OnRegisterMagic(string magicName) 66 { 67 // 既に登録済みの魔法を選択した場合はリストから削除する 68 foreach (var v in magic) 69 { 70 if (v == magicName) 71 { 72 magic.Remove(v); 73 return; 74 } 75 } 76 77 // セット数は三つまで 78 if (magic.Count < 3) 79 { 80 magic.Add(magicName); 81 } 82 } 83}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/03/24 08:50 編集
退会済みユーザー
2020/03/24 09:14 編集