c# - 通过脚本传递变量的问题
问题描述
我正在制作一个小游戏,玩家需要通过将角色拖到桶中来回答问题。在生成我的角色时,我通过将变量传递给另一个脚本来添加一个 ID。在此之后,该变量将需要传递给另一个脚本,该脚本检查字符的 ID 是否与问题的 ID 匹配。运行游戏并将角色移动到桶中时,不会触发触发器。查看检查器显示所有 ID 都是 0,而它们应该是 0 到 9(每个生成的字符一个)。我在下面附上了我的代码。我尝试使用 return 方法,现在尝试使用 out 参数修饰符,但出现错误:
Assets\Scripts\IDGiver.cs(11,32):错误 CS1001:需要标识符
我不明白我哪里错了。我希望这里有人可以帮助我。这也是我第一次在这里提问,所以我希望我能解释清楚。
角色生成器
foreach (var item in answerText)
{
savedPosition = new Vector3(Random.Range(9, -9), 1, Random.Range(9, -9));
Instantiate(myPrefab, savedPosition, Quaternion.identity);
myPrefab.GetComponentInChildren<TextMeshPro>().text = answerText[answerNumber].ToString();
answerNumber++;
iDGiver.LetsWork(ref answerIndex);
answerIndex++;
}
IDGiver
public class IDGiver : MonoBehaviour
{
public int answerIndexNumber;
private BucketTrigger bucketTrigger;
public int answerIndex;
public int newAnswerIndex;
LetsWork(out newAnswerIndex);
public void LetsWork(out int answerIndex)
{
answerIndexNumber = answerIndex;
}
void Awake()
{
bucketTrigger = GameObject.FindObjectOfType<BucketTrigger> ();
}
桶触发器
public class BucketTrigger : MonoBehaviour
{
int answerIndexNumberCheck;
public void UpdateIndexNumberCheck(int answerIndexNumber)
{
answerIndexNumberCheck = answerIndexNumber;
}
void OnTriggerEnter(Collider other)
{
if (answerIndexNumberCheck == 1)
{
Debug.Log("Test");
}
}
}
解决方案
推荐阅读
- c# - 将布尔数组转换为计数器
- c# - 如何避免消息进入“deadletter”队列 azure 服务总线
- python - 为什么python在opencv中为对象检测抛出断言错误?
- javascript - Google Analytics Gtag JS:设置自定义维度的代码不起作用?
- matlab - 如何编写Matlab程序来确定正方形中的点
- php - 如何在没有枢轴模型的情况下在 Laravel 中存储多对多关系?
- java - 尝试执行脚本时出现错误“net.serenitybdd.core.exceptions.SerenityManagedException: No session ID”
- amazon-web-services - AWS Sagemaker 自定义小部件安装 Jupyter Notebook 或 Lab
- typescript - Typescript 如何使用非静态键编写嵌套对象类型
- python - 如何使用 DBFS 中的库而不是 Databricks 中的预安装库