【问题标题】:Flash AS3 - Creating BadGuys that make me loseFlash AS3 - 创建让我迷失方向的 BadGuy
【发布时间】:2013-06-19 14:09:08
【问题描述】:

我只是想复制同一个问题,因为我真的需要答案

所以,我这里有个问题……

我想在我的游戏中创造每一个“x”类型的坏人,当它与玩家发生碰撞时,我会失去生命。简单...

但是每当它创建一个新的坏人时,以前的人都会失去他们的实例名称或其他东西,我不会失去生命,因为它不识别“坏人”实例......

我必须做什么?我希望场上所有的坏人都能让玩家失去生命。

我正在使用这段代码来创建新的坏人:

contadorTempo.addEventListener(TimerEvent.TIMER, intervaloTempo2);//evento para nascimento do mau da direta

function intervaloTempo2(evento:TimerEvent):void
{
  //código para o novo mau nascer
  mau=new Black_Player ();
  addChild (mau);
  mau.rotation = 180; //rotação do mau
  mau.x = 1024; //posição de x do mau é igual a 0
  mau.y = Math.random()*540; //posição y do mau é feita aleatóriamente entre os valores 1 e 540 de y 
  mau.addEventListener(Event.ENTER_FRAME, movermau2);//quando nasce o novo mau, esta   função faz-lo mover-se da direita

}//função para nasimento do mau  da direita    

而且,对于与玩家的碰撞,我使用以下代码:

stage.addEventListener(Event.ENTER_FRAME, perdervida);

function perdervida(evento:Event):void
{

    if( jogador_bom.hitTestObject(mau) == true ){

    vida = vida - 1;
    mau.x = 10000;

    trace("AUCH");

    livetext.text = String(vida); // código para aparecer o número de vidas do jogador no ecra
}

} //função para perder uma vida

PS:对不起英语,不是我的语言,我希望你能理解我的问题,我希望这个插入代码和其他问题一样好。我花了大约 20 分钟才弄清楚这一点。第一次来这里。 哎呀

干杯:)

【问题讨论】:

  • 您不应发布自己的重复问题。尤其是两小时后。有一点耐心。如果你想提出你的问题,你可以通过改进它并添加更多细节来做到这一点。为了获得更广泛的受众,您还可以将您的来源翻译成英文。尽管它看起来无关紧要,但对于非西班牙语人士来说,它很难阅读。还是葡萄牙语?

标签: actionscript-3 flash


【解决方案1】:

您需要将所有创建的“坏人”存储在一个数组中。现在看来,我认为您每次创建一个新实例时都会覆盖一个“坏人”实例。

【讨论】:

    【解决方案2】:

    你可以创建一个数组来容纳你的坏人

    var _badGuys:Array = new Array();
    

    然后把你所有的坏人都推进去。

    function intervaloTempo2(evento:TimerEvent):void {
        mau=new Black_Player ();
        _badGuys.push(mau);
        addChild (mau);
        mau.rotation = 180;
        mau.x = 1024;
        mau.y = Math.random()*540;
        mau.addEventListener(Event.ENTER_FRAME, movermau2);
    }
    

    然后你可以创建一个for循环来检查数组中每个坏人的碰撞...

    for (var i:Number = 0; i < _badGuys.length; i++){
        if(jogador_bom.hitTestObject(_badGuys[i])){
            vida = vida - 1;
            mau.x = 10000;
            livetext.text = String(vida);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      • 2011-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多