繁体   English   中英

为什么增量功能不起作用?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM