0

Im glad to be here! Let me ask.. I´ve a function:

trace(figurasQuePiscarao) = 1,4,5,6,8,14,15

velocidadePiscaFigura:Number = 5

function enterFramePisca(e:Event):void {
                volta++
                if (volta >= objConfig.velocidadePiscaFigura * 3 )
                    volta = 0
                if (volta == objConfig.velocidadePiscaFigura)
                    trace('blink1')
                    for (var i:int = 1; i < objComunicacao.figurasQuePiscarao.length; i++ ) {
                        if(getChildByName("mcF" + objComunicacao.posicoesQuePiscarao[i])) {
                            MovieClip(getChildByName("mcF" + objComunicacao.posicoesQuePiscarao[i])).gotoAndStop(2)
                        }
                    }
                if (volta == (objConfig.velocidadePiscaFigura * 2))
                    trace('blink2')
                    for (var j:int = 1; j < objComunicacao.figurasQuePiscarao.length; j++ ) {
                        if (getChildByName("mcF" + objComunicacao.posicoesQuePiscarao[j]))
                            MovieClip(getChildByName("mcF" + objComunicacao.posicoesQuePiscarao[j])).goToAndStop(3)

                    }
            }

The output of debugger is: blink1 blink2 blink1 blink2 blink1 blink2 blink1 blink2 blink1 ....

So enterFrame is ok... But I want these moviclips change the frame .. but they all insist on staying in frame 2 .. I want this to be changing between 2 and 3.. looping .. using that velocity factor 'velocidadePiscaFigura' .. I appreciate your help, sorry about poor english ... Thanks

Filipe Tagliacozzi
  • 1,431
  • 2
  • 20
  • 28

1 Answers1

0

I think that maybe it's a simple little misspelling:

MovieClip(getChildByName("mcF" + objComunicacao.posicoesQuePiscarao[j])).goToAndStop(3)

goToAndStop(3) should be gotoAndStop(3), right?

EDIT:

Also, you should use {} brackets and ; correctly:

velocidadePiscaFigura:Number = 5;

function enterFramePisca(e:Event):void {
            volta++;
            if (volta >= objConfig.velocidadePiscaFigura * 3 ) {
                volta = 0;
            }
            if (volta == objConfig.velocidadePiscaFigura) {
                trace('blink1');
                for (var i:int = 1; i < objComunicacao.figurasQuePiscarao.length; i++ ) {
                    if(getChildByName("mcF" + objComunicacao.posicoesQuePiscarao[i])) {
                        MovieClip(getChildByName("mcF" + objComunicacao.posicoesQuePiscarao[i])).gotoAndStop(2);
                    }
                }
            }
            if (volta == (objConfig.velocidadePiscaFigura * 2)) {
                trace('blink2');
                for (var j:int = 1; j < objComunicacao.figurasQuePiscarao.length; j++ ) {
                    if (getChildByName("mcF" + objComunicacao.posicoesQuePiscarao[j])) {
                        MovieClip(getChildByName("mcF" + objComunicacao.posicoesQuePiscarao[j])).gotoAndStop(3);
                    }
                }
            }
        }
Lixus
  • 296
  • 4
  • 12
  • ok... fixed this mistake... but, now still on frame 3 =( .. do you guys know a better way to do this? – Filipe Tagliacozzi Aug 17 '12 at 13:24
  • So now the MCs stay on frame 3? Hm. Maybe it would help if you could post more of your code. – Lixus Aug 17 '12 at 13:29
  • Now i think i got it. You should really use {} brackets for your if conditions. I think that only the trace is affected by the ifs right now. Also, use ; semicolons to end each statement as this can cause similar errors. – Lixus Aug 17 '12 at 13:32