(NGUI)UISprite 切换图集

本文介绍如何利用UISprite实现图标动态切换功能,通过代码控制不同图集的应用,适用于物品图标等场景。

UISprite是可以使用代码动态切换图集的

using UnityEngine;
using System.Collections;

public class SpriteAtlasTest : MonoBehaviour {

    private UISprite _sprite;
    public UIAtlas atlas;
    public UIAtlas atlas2;
    // Use this for initialization
    void Start () {
        _sprite = GetComponent<UISprite>();
    }
    
    // Update is called once per frame
    void Update () {
       

        if(Input.GetMouseButtonDown(0))
        {
            _sprite.atlas = atlas;
            _sprite.spriteName = "GoodDirt";
           
            
        }
        if(Input.GetMouseButtonDown(1))
        {
            _sprite.atlas = atlas2;
            _sprite.spriteName = "NGUI";
        }
    }
}

 

这样就是使用UISprite来制作图标了,比如物品图标,可以分别存在不同的图集里面,根据配置物品icon在哪一个图集,在需要显示的时候动态指定图集就可以了~

在Unity中,类似于NGUIUISprite可以通过Unity的UI系统来实现。以下是一个基本的实现步骤: 1. **创建Sprite资源**: - 首先,你需要准备你的Sprite图片,并将其导入到Unity项目中。 - 在Unity中,选择图片文件并在Inspector面板中设置Texture Type为“Sprite (2D and UI)”。 2. **创建UI Canvas**: - 在Hierarchy面板中,右键点击并选择`UI -> Canvas`来创建一个Canvas。 - Canvas是所有UI元素的根节点。 3. **创建UI Image**: - 在Canvas下,右键点击并选择`UI -> Image`来创建一个Image组件。 - 将你导入的Sprite图片拖拽到Image组件的Source Image字段中。 4. **编写脚本控制Sprite**: - 创建一个新的C#脚本,例如`UISprite.cs`,并将其附加到一个空的GameObject上。 - 在脚本中,你可以编写代码来控制Sprite的行为,例如改变Sprite的图片、颜色、透明度等。 以下是一个简单的`UISprite.cs`脚本示例: ```csharp using UnityEngine; using UnityEngine.UI; public class UISprite : MonoBehaviour { public Image spriteImage; // 改变Sprite图片的方法 public void ChangeSprite(Sprite newSprite) { if (spriteImage != null) { spriteImage.sprite = newSprite; } } // 改变Sprite颜色的方法 public void ChangeColor(Color newColor) { if (spriteImage != null) { spriteImage.color = newColor; } } // 改变Sprite透明度的方法 public void ChangeAlpha(float alpha) { if (spriteImage != null) { Color color = spriteImage.color; color.a = alpha; spriteImage.color = color; } } } ``` 5. **使用脚本**: - 在Hierarchy面板中,选择你附加了`UISprite.cs`脚本的GameObject。 - 在Inspector面板中,将Canvas下的Image组件拖拽到`UISprite`脚本的`spriteImage`字段中。 通过这种方式,你可以在Unity中实现类似于NGUIUISprite功能,并根据需要进行扩展和自定义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值