gpt4 book ai didi

actionscript - 切换 boolean 问题

转载 作者:行者123 更新时间:2023-12-02 06:43:49 24 4
gpt4 key购买 nike

这段代码是用简单的 ActionScript 编写的,但我假设我的这个问题会出现在所有具有 boolean 数据类型的语言中。

我只是单击舞台,以便我的 boolean 变量反转它的值,而不是跟踪/打印/记录它的新值。但是,它始终跟踪 true,而不是每次单击鼠标时在 true 和 false 之间切换。

我做错了什么?

var myBool:Boolean;

stage.addEventListener(MouseEvent.CLICK, mouseClickHandler);

function mouseClickHandler(evt:MouseEvent):void
{
changeBoolean(myBool);
}

function changeBoolean(boolean:Boolean):void
{
boolean = !boolean;
trace(boolean);
}

最佳答案

您传递的是一个值给函数,而不是引用。这意味着您的 changeBoolean 函数内的 boolean 值是从 myBool 变量复制的,因此当您在函数内更改它时,它并没有真正改变 myBool 变量。基本上有两种解决方案:

  1. 将函数更改为不接受参数并在其中更改 myBool 变量或
  2. 更改函数,使其返回 boolean 参数,并在调用函数时,将 myBool 值设置为函数的结果

关于actionscript - 切换 boolean 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3693182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com