[英]Why doesn't the incremental function work?
-删除问题。 带来不便敬请谅解
根据您的代码逻辑,您将在按 5 后禁用对象。您可能希望在按 2 次后禁用它。
if ((Input.GetKeyDown(KeyCode.Alpha5)) && count < 2)
{
count = count + 1;
Instantiate(Object1, transform.position, transform.rotation);
if(count >= 2) {
this.enabled = false;
}
}
它出现的原因是您的计数器根本没有增加是这样的:您记录count
但在按 5 后将其禁用,因此Update()
中不会发生更多日志。
提示:您可以公开count
或使用[Serializable]
,或使用调试检查器视图查看计数的实际值,而不是依赖 Debug.Log。
编辑:如果 Object1 附加了Placement
脚本,则您正在创建越来越多的脚本(每个脚本都有一个count
变量)。
最好有一个实例化其他对象的管理器对象。 但是您也可以像这样删除/禁用实例化对象上的脚本:
if ((Input.GetKeyDown(KeyCode.Alpha5)) && count < 2)
{
count = count + 1;
GameObject newObj = Instantiate(Object1, transform.position, transform.rotation);
newObj.getComponent<Placement>().enabled = false; // this disables the script
// (optional) Destroy(newObj.getComponent<Placement>()); // this removes the script
if(count >= 2) {
this.enabled = false;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.