• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

tibi

Desabilitar function()

6 mensagens neste tópico

Boas tardes.

Estou com um problema, que por mais que ande aqui a volta, não consigo fazer o que pretendo.

tenho um movieclip com 300 frames. No frame 150 crio uma function() e no fim do codigo chamo a e ela funciona normalmente.

Mas quando chega ao frame 300 volta para o 1, pois não tenho nenhum stop().

Mas a função continua activa e queria que ela deixasse de funcionar!!! Apenas quando chegasse ao frame 150, onde ela e criada, deveria aparecer...

Alguma sugestão... Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Convêm postares o código da declaração da função para termos uma ideia do que está a fazer.

Continua activa como? Só precisas de definir a função uma vez... mas podes chamar as vezes que quiseres (depois de definida, ou seja, a primeira vez que a playhead passa pelo frame 150).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

a função e esta, um efeito para fazer chuva, que encontrei na net...

function chuva(qtd_pingo, vel_chuva){
_root.duplicador = qtd_pingo

for(i=0; i<=_root.duplicador;i++){
_root.createEmptyMovieClip("pingo" + i , i)
_root["pingo"+ i].moveTo(20,20)
_root["pingo"+ i].lineStyle(1,"0xcccccc", random(100))
_root["pingo"+ i].lineTo(20,3)
_root["pingo"+ i]._x = random(Stage.width);
_root["pingo"+ i]._y = random(Stage.height);
_root["pingo"+ i]._rotation = 135;
}

onEnterFrame = function(){
    for(i=0; i<=_root.duplicador;i++){
       
        if(_root["pingo"+ i]._y>155){ //Stage.height){
            _root["pingo"+ i]._x = random(Stage.width);
            _root["pingo"+ i]._y = random(Stage.height);

        }
        else{
            _root["pingo"+ i]._y += vel_chuva
            _root["pingo"+ i]._x += vel_chuva
            }
       
    }
   
   
    }
}
chuva(200,20);

tenho esse codigo no frame 150 e quando corro o movie, no frame 150 a chuva comeca a cair, mas como é um loop queria que quando voltasse ao frame 1, a chuva deixasse de cair...

Não sei como hei de desabiliar essa função

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

para desactivares o onEnterFrame usa "delete onEnterFrame"

Neste caso não chega, a função designada para correr em cada frame apenas trata do movimento dos pingos, eles já foram criados e adicionados ao stage na função chuva.

@Tibi: Convem primeiro perceberes o que está a acontecer:

A função chuva cria qtd_pingo movieclips e desenha os pingos.

Cada movieclip tem como instance name "pingo0", "pingo1", "ping2", etc...

A função associada ao enterFrame trata do movimento dos pingos, ou seja:

em cada frame aumenta a posição de cada movieclip vel_chuva pixels e se este estiver fora da zona visível coloca-o novamente numa posição aleatória visivel.

O que necessitas fazer?

Remover (ou "esconder") todos os movieclips no ultimo frame e remover a função do onEnterFrame.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Obrigado pelas respostas.

A função, eu percebo a. O meu problema era mesmo remove la num determinado tempo.

Problema resolvido.. Obrigado :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora