使用uigi将英雄小头像显示在详细资料中(图片切换)

在英雄小图标上挂脚本

 1 using System;
 2 using UnityEngine;
 3 using System.Collections;
 4 using UnityEngine.UI;
 5 
 6 public class HeroSelect : MonoBehaviour
 7 {
 8     private string[] heroNameArray =
 9     {
10         "吉安娜·普罗德摩尔\n(法师)",
11         "雷克萨\n(猎人)",
12         "乌瑟尔·光明使者\n(圣骑士)",
13         "加尔鲁什·地狱咆哮\n(战士)",
14         "玛法里奥·怒风\n(德鲁伊)",
15         "古尔丹\n(术士)",
16         "萨尔\n(萨满祭司)",
17         "安杜因·乌瑞恩\n(牧师)",
18         "瓦莉拉·萨古纳尔\n(潜行者)"
19     };
20 
21 
22 
23     private Image selectHeroImage;
24     private Text selectHeroName;
25     private Sprite thisSprite;
26 
27 
28     void Start()
29     {
30 
31         thisSprite = this.GetComponent<Image>().sprite;//得到当前组件的Image,再取到他的sprite属性
32     }
33 
34     void Awake()
35     {
36         selectHeroImage = this.transform.parent.Find("hero0").GetComponent<Image>();
37         selectHeroName = this.transform.parent.Find("SelectHeroName").GetComponent<Text>();
38     }
39 
40 
41 
42 
43     public void HeroSelectButton()
44     {
45 
46         #region 更换图片
47         string heroName = this.gameObject.name;//指向这个游戏物体的名字
48         selectHeroImage.sprite.name = heroName;
49         selectHeroImage.sprite = thisSprite;
50 
51         #endregion
52 
53         #region 在面板中更改名字
54 
55         char heroIndexChar = heroName[heroName.Length - 1];//取得物体名字中最后一个字符
56         int heroIndex = heroIndexChar - '0';//将这个字符转化成int类型
57         selectHeroName.text = heroNameArray[heroIndex - 1];
58 
59         #endregion
60     }
61 }

“transform.parent.Find”访问到他的子物体

 

posted @ 2016-05-10 15:37  礼桀  阅读(620)  评论(0)    收藏  举报