更改Unity中的mouseEnter上的精灵帧

时间:2015-01-01 10:56:02

标签: c# unity3d

我有一个名为play-button的资产文件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播放按钮发生空引用错误并且正在显示空白对象时屏幕,任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

从我看到的,Sprites s1&amp; s2不公开(所以你不能通过检查员分配它),并且没有代码你指定s1&amp; s2变量。

<强>解决方案
使Sprite s1和s2公开,然后分配它们。