首页 > 代码库 > NGUI-UISprite

NGUI-UISprite

今天做了一个得分板的效果,看图


结构


对应的依次是 个位 十位 百位 千位

写脚本:

using UnityEngine;
using System.Collections;
using System;

public class Number : MonoBehaviour
{
	private UISprite[] sprites;
	private UIAtlas  traceAtlas;
	public int num=0;
	// Use this for initialization
	void Start ()
	{
		sprites = GetComponentsInChildren<UISprite> ();
		//Debug.Log ("******"+sprites.Length);
	}
	
	// Update is called once per frame
	void Update ()
	{
		DisplayNumber (num);
	}
	//将数值肢解 每一位对应图片进行显示
	void DisplayNumber(int number){
		for (int i=0; i<4; i++) {
			int t=number/(int)Math.Pow(10,i)%10;
			sprites [i].spriteName = ""+t;
		}
	}
}
绑定在NumPanel上面。

思路是获取现面的所有子Sprite插件(其实一共有5个,地图还有一个,不过按照顺序它的序列为4,从0开始)。

注意一点 Math类在System中,需要引入System,还有得到的是double类型值,需强转int进行除法。

核心的一句代码 就是 

sprites [i].spriteName = ""+t;
啥意思,很简单了,好好体会吧。