Unity中Flappy Bird克隆项目报错:CS7036参数缺失问题
解决Unity Flappy Bird克隆项目中的CS7036错误
错误信息
Assets\PipeMiddleScript.cs(25,18): error CS7036: 没有与LogicScript.addScore(int)的必需形参'scoreToAdd'对应的实参
问题原因
你在PipeMiddleScript.cs第25行调用LogicScript的addScore方法时,没有传入该方法要求的整数参数scoreToAdd。
解决方案
方案1:修改调用代码,传入参数
找到PipeMiddleScript.cs中调用addScore的代码,补充传入具体的分数值。比如每次通过管道加1分,代码如下:
// 假设你已获取LogicScript实例,变量名为logic logic.addScore(1);
方案2:给addScore添加无参重载(默认加分)
如果希望支持无参调用(比如默认每次加1分),可以在LogicScript中新增一个无参的addScore方法,内部复用已有逻辑:
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; public class LogicScript : MonoBehaviour { public int playerScore; public Text scoreText; [ContextMenu("Increase Score")] public void addScore(int scoreToAdd) { playerScore += scoreToAdd; scoreText.text = playerScore.ToString(); } // 新增无参重载方法 public void addScore() { addScore(1); // 默认加1分 } public void restartGame() { SceneManager.LoadScene(SceneManager.GetActiveScene().name); } }
修改后,原来的无参调用logic.addScore();就能正常编译运行。
内容的提问来源于stack exchange,提问作者NikimonYT
相关产品推荐
相关产品推荐

