我做了几个预制纽扣。当我单击它们中的每一个时,它们都转到相同的场景,但是根据我单击的按钮,我对该场景具有不同的信息。怎么知道我点击了哪个按钮?函数goArtistDetail是每个按钮都会调用的函数。
我有这个:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ButtonScriptTwo : MonoBehaviour
{
// Use this for initialization
void Start ()
{
Debug.Log("ButtonScriptTwo");
Debug.Log("counter: " + GlobalState.counter);
}
public void goArtistDetail(Button button)
{
GlobalState.counter++;
Application.LoadLevel("ArtistDetail");
}
}
答案 0 :(得分:0)
除了加载相同的场景外,您是否有理由尝试对两个调用使用相同的方法?如果不是,为什么不对每个按钮分别设置不同的onClick并设置PlayerPref。
public void ButtonClick_1()
{
GoArtistDetail(1);
}
public void ButtonClick_2()
{
GoArtistDetail(2);
}
// C# Methods start with a Captial
private void GoArtistDetail(int refererBtn)
{
GlobalState.counter++;
PlayerPrefs.SetInt("Referer Button", refererBtn)
Application.LoadLevel("ArtistDetail");
}
然后在ArtistDetail
场景中
private void Start()
{
int refererBtn = 1; //Default value
if(PlayerPrefs.HasKey("Referer Button"))
{
refererBtn = PlayerPrefs.GetInt("Referer Button");
PlayerPrefs.DeleteKey("Referer Button");// Remove it if it is use once
}
//Evaluate refererBtn to show what info is relevant
}