public class FoodMaker : MonoBehaviour {
//以下部分返回该类的对象 单例模式
private static FoodMaker _instance;
public static FoodMaker instance
{
get
{
return _instance;
}
}
...
void Awake()
{
_instance = this;
}
...
public void MakeFood()
{
int index = Random.Range(0, foodSprites.Length -1);
GameObject food = Instantiate(foodPrefeb);
food.GetComponent<Image>().sprite = foodSprites[index];
food.transform.SetParent(foodHolder, false);
int x = Random.Range(-xlim + offset, xlim);
int y = Random.Range(-ylim, ylim);
food.transform.localPosition = new Vector3(30 * x, 30 * y, 0);
}
}
//在其他类中调用
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.tag == "Food")
{
Destroy(collision.gameObject);
FoodMaker.instance.MakeFood();
}
}
简单地利用单例模式访问其他类
最新推荐文章于 2022-02-08 16:41:58 发布