Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在AS3中连接变量名_Actionscript 3_Flash_Loops_Actionscript_Concatenation - Fatal编程技术网

Actionscript 3 在AS3中连接变量名

Actionscript 3 在AS3中连接变量名,actionscript-3,flash,loops,actionscript,concatenation,Actionscript 3,Flash,Loops,Actionscript,Concatenation,我现在正在制作一个AS3游戏,并将其设置为玩家精灵可以收集硬币。这是通过在“硬币”电影剪辑检测到与播放器发生碰撞时使其不可见,并将硬币计数增加1来实现的 现在,我有以下循环 if (coin1Collected == false){ if (player.hitTestObject(level.coin1)){ level.coin1.visible = false; coin1Collected = true; coinsCollected++; sound

我现在正在制作一个AS3游戏,并将其设置为玩家精灵可以收集硬币。这是通过在“硬币”电影剪辑检测到与播放器发生碰撞时使其不可见,并将硬币计数增加1来实现的

现在,我有以下循环

if (coin1Collected == false){
  if (player.hitTestObject(level.coin1)){
    level.coin1.visible = false;
    coin1Collected = true;
    coinsCollected++;
    soundChannel = coinSound.play();
    }
}

我不想为每个单独的硬币电影剪辑和硬币收集布尔设置其中一个,但是我还没有找到一种方法将它们全部放入for循环。有没有办法在for循环中连接一个变量和一个增量值?提前感谢,如果这是一个愚蠢的问题,请道歉

我认为您正在寻找
级别['coin'+I]
。例如,当
i=5
时,它相当于
level.coin5
。为了避免两次收集同一枚硬币,为什么不检查一下它的可见性呢

const NUM_COINS = 10;

for (var i:int = 1; i < NUM_COINS; i++) {
    var coin:Sprite = level['coin' + String(i)];

    if (coin.visible && player.hitTestObject(coin)) {
        coin.visible = false;
        coinsCollected++;
        soundChannel = coinSound.play();
    }
}
const NUM_硬币=10;
对于(变量i:int=1;i
如果您需要存储有关硬币的更多信息,您可以:

  • 创建一个数组,coinX在其中索引X处包含信息

  • 使用MovieClip并将信息设置为属性,因为MovieClip是动态的(
    coin.pickedUp=true

  • 创建一个已将该信息作为属性的Coin类


非常感谢您的帮助,我现在就开始。编辑:这很有效!再次感谢你。