【发布时间】:2015-08-10 21:27:47
【问题描述】:
我正在用 C# 创建一个 2d 炮塔防御游戏,我有一个关于炮塔更新管理的问题。 我想在炮塔精灵上创建菜单,其中包含几个升级选项。
我的想法是从资源中加载菜单作为精灵,将其作为子项分配给炮塔游戏对象,然后管理按钮与炮塔之间的通信以启动升级过程。
有没有办法将方法/函数分配给新加载的资源?
例如(炮塔类):
Sprite myMenuButton = Resources.Load <Sprite> ("sprite_menu_to_load");
myMenuButton.OnMouseDown(){
// do something with the current turret's class
};
或者我必须将游戏对象精灵保存在资源文件夹中,其中包含一个脚本,该脚本将管理 OnMouseDown 方法,搜索炮塔的父脚本并使用正确的方法?
例如(在菜单精灵类中):
void OnMouseDown(){
GameObject parent = gameObject.transform.parent.gameObject;
turretScript parentScript = (turretScript) go.GetComponent(typeof(turretScript));
parentScript.doUpgrade();
}
感谢您的帮助!
【问题讨论】: