在鼠标上更改精灵框输入 Unity 中

本文关键字:输入 Unity 精灵 鼠标 | 更新日期: 2023-09-27 18:35:53

我有一个名为播放按钮的资产文件,带有texture type=sprite2DSprite Mode = Multiple,它包含 2 个不同的帧:play-button0play-button1

我为此资产附加了一个 C# 脚本文件,其中包含以下代码:

using UnityEngine;
using System.Collections;
public class Play_btn : MonoBehaviour {
    SpriteRenderer spriteRenderer;
    Sprite s1;
    Sprite s2;
    // Use this for initialization
    void Start () {
        spriteRenderer = GetComponent<SpriteRenderer>();
        if (spriteRenderer.sprite == null)
                        spriteRenderer.sprite = s1;
    }
    void OnMouseDown() {
        Application.LoadLevel("Levels");
    }
    void OnMouseEnter() {
        spriteRenderer.sprite = s2;
    }
    void OnMouseExit() {
        //spriteRenderer.sprite = sprite1;
    }
    // Update is called once per frame
    void Update () {
    }
}

如您所见,我正在尝试更改帧onMouseEnterOnMouseExit但是当mouseEnter播放按钮时,发生空引用错误并且屏幕上显示空白对象,任何人都可以帮助我解决这个问题?

在鼠标上更改精灵框输入 Unity 中

据我所知,Sprites s1 和 s2 不是公开的(所以你不可能通过检查器分配它),也没有分配 s1 和 s2 变量的代码。

溶液
公开精灵 s1 和 s2,并分配它们。