C# Unity game-只能将赋值、调用、递增、递减、等待和新对象表达式用作语句
在我的游戏中,我创建了一个预制件,在我的塔防游戏中创建了一个带有工作按钮、文本等的车间面板。我有一个关于玩家是否有一座塔的公开档案,如下图所示,这座塔叫做hasTowerC# Unity game-只能将赋值、调用、递增、递减、等待和新对象表达式用作语句,c#,unity3d,C#,Unity3d,在我的游戏中,我创建了一个预制件,在我的塔防游戏中创建了一个带有工作按钮、文本等的车间面板。我有一个关于玩家是否有一座塔的公开档案,如下图所示,这座塔叫做hasTower public class CellScr : MonoBehaviour { public bool isGround, hasTower = false; 在脚本的后面,我有一个代码,如果hasTower=true,系统将从预制中找到游戏对象,然后销毁它 public void BuildTower(Tower
public class CellScr : MonoBehaviour {
public bool isGround, hasTower = false;
在脚本的后面,我有一个代码,如果hasTower=true,系统将从预制中找到游戏对象,然后销毁它
public void BuildTower(Tower tower) // From another script
{
GameObject tmpTower = Instantiate (TowerPref);
tmpTower.transform.SetParent (transform, false);
tmpTower.transform.position = transform.position;
tmpTower.GetComponent<TowerScr>().selfType = (TowerType)tower.type;
hasTower = true;
FindObjectOfType<ShopScr> ().CloseShop;
}
在我的游戏中,它关闭了商店的窗口
还有另一个脚本塔脚本,bool决定玩家是否有塔。在ShopScr中,还可以根据您的黄金数量建造一座塔。包括所有这些脚本将使问题变得太长,而且这些脚本中没有错误,因为它们工作正常
这里的问题是公共bool不起作用,并给出了错误:只有赋值、调用、递增、递减、等待和新对象表达式可以用作语句
如何让游戏识别CloseShop的方法
抱歉,这可能是一个愚蠢的问题,但我最近才开始编程,尤其是使用Unity。CloseShop是一种方法,缺少括号:
FindObjectOfType<ShopScr>().CloseShop();
CloseShop是一种方法,因此在它后面应该有一对括号
FindObjectOfType<ShopScr>().CloseShop();
你到底把那些线放在哪里了?他们一定在一个房间里。他们在错误的地方吗?FindObjectOfType.CloseShop;任何不以打字错误结束这个问题的人都是在做错误的事情…这个错误与从Unity开始无关,当你在c中调用一个方法时,你应该总是有括号,即使没有参数。除了被称为括号外-括号是[]在英国英语中被称为括号或括号。[]为方括号。从技术上讲,括号{}也被称为括号,但任何这样做的人都需要一记耳光:。@CodeGorilla哈哈,谢谢你的澄清!:我每次都需要仔细检查一下英国/美国英语。每个人都应该采用一个标准,但这不是为了明天
FindObjectOfType<ShopScr>().CloseShop();