Chead 1 Denunciar post Postado Novembro 12, 2009 Galera, preciso de um código que quando a pessoa entre no site, depois de 40 segundos que ele está, execute um movieclip com instance de tela_vermelha. Só que quando ele clica em um botão no palco, esse tempo pare onde está, e quando ele clicar em outro dentro de outro movieclip esse tempo volte a rodar. Como ficaria? Obrigado galera Compartilhar este post Link para o post Compartilhar em outros sites
blockmonork 1 Denunciar post Postado Novembro 12, 2009 Gente, preciso dos 6 números da mega sena de sábado. Quais são? É script que conta tempo? Pesquise sobre setInterval. Se tiver dúvida em alguma parte do código, aí é diferente. Compartilhar este post Link para o post Compartilhar em outros sites
Chead 1 Denunciar post Postado Novembro 12, 2009 hehehehe, entao cara eu consegui aqui pesquisando bolar esse código: _root.tela_vermelha._visible = false function anima() { _root.tela_vermelha._visible = true; } setInterval (anima, 40000); o movieclip com instancia de tela_vermelha ta no mesmo palco do script agora quero que quando clique em um botão no mesmo palco do código, ele pare, e logo que clico em um botão X(close) dentro de um movieclip esse código continue rolando. Como seria? Compartilhar este post Link para o post Compartilhar em outros sites
Untill 0 Denunciar post Postado Novembro 12, 2009 Sinceramente, não consigo entender seus posts, sua escrita é muito confusa, se possível explique melhor ou até mesmo exemplifique. Compartilhar este post Link para o post Compartilhar em outros sites
Chead 1 Denunciar post Postado Novembro 12, 2009 Bom entao vamo lá, Tenho aqui comigo um site que estou fazendo. No site quero que quando de 40 segundos que o usuario esta acessando, comece a piscar uma tela vermelha. Quando o usuario clica em um botão do site, ele vai para uma seção(movieclip), só que quando ele está lendo o conteudo do movieclip, o tempo de 40 segundos que ta rolando no palco principal deve ser parado, e só retorna quando ele clica no botão X(close) de fechar a seção que ele está e volta para a parte principal. Tenho esse código que mostrei, que esconde a tela vermelha e quando passa 40 ela é ativada. Só não sei como fazer para desativar quando ele entra na seção por um tempo? Entendeu agora? hehe valeu!! Compartilhar este post Link para o post Compartilhar em outros sites
blockmonork 1 Denunciar post Postado Novembro 12, 2009 É basicamente assim: _root.tela_vermelha._visible = false function anima() { _root.tela_vermelha._visible = true; } var temp = setInterval (anima, 40000); botaoParaTempo.onRelease = function(){ clearInterval(temp); } Compartilhar este post Link para o post Compartilhar em outros sites
Chead 1 Denunciar post Postado Novembro 12, 2009 block esse codigo nao funcionou nao sei porque... mais como ficaria o botão dentro do movie clip para continuar o tempo, do setinterval se funcionasse? Compartilhar este post Link para o post Compartilhar em outros sites
blockmonork 1 Denunciar post Postado Novembro 12, 2009 Se você quer botões para controlar a passagem do tempo, você deverá alterar seu script. A chamada pelo setInterval deverá ser feita por uma função. Dentro dessa função, a "variavel = setInterval(funcaoContar, 1000)" chama a função contar a cada 1 segundo, e essa função que fará a análise, através de incrementos numa variável, se esta já atingiu o tempo limite, se sim, limpa o intervalo e mostra o objeto. Nos botões, um pausará o setinterval (como mencionei acima) e outro chamará a função de contar o intervalo. ex: bt.onRelease = function(){ funcaoInicial();} Queime um pouquinho de neurônios que você conseguirá fazer. É bem simples. PS: com relação ao código acima não ter funcionado, você deve tê-lo inserido erroneamente no seu script, pois funciona sim. Compartilhar este post Link para o post Compartilhar em outros sites
Chead 1 Denunciar post Postado Novembro 16, 2009 opa block! então consegui até agora. Só que agora falta quando eu clicar no botão dentro do MC, ele volta rodar o setinterval de onde tinha parado. Como faço isso? Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Novembro 16, 2009 Voltar a rodar da onde parou... não dá... Da para você reiniciar... o mesmo Para fazer isso de voltar da onde parou teria que usar a classe Timer Ai é um pouquinho diferente... da pra usar pause e resume nela... Mas acho que ela é só do AS 3 em AS 2 não conheço nenhum desses que para e anda... que de para voltar da onde parou e continuar... a não ser que seja uma animação de frames ou algo parecido com isso. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Chead 1 Denunciar post Postado Novembro 16, 2009 nossa entao me lasquei... hehehehe meu site está todo em as2 então teria como quando chegar no final dessa barrinha começa a executar um movie clip? Tipo nos ultimos 10 segundos. Aqui vai o código da barrinha, acho que é só implementar algo nela: import mx.transitions.Tween; import mx.transitions.easing.*; var tempoSegundos:Number = 180; var animaBarra:Tween; animaBarraF(); abrirBtn.onRelease = onClickAbrirBtn; fecharBtn.onRelease = onClickFecharBtn; function animaBarraF(Void):Void { animaBarra = new Tween(barraMc, "_width", Linear.None, 300, 0, tempoSegundos, true); animaBarra.onMotionFinished = onFinishedF; } function onFinishedF(Void):Void { trace("acabou tempo, recarrega pagina"); gotoAndPlay("start"); } function onClickFecharBtn(Void):Void { trace("fecha o mc e continua a animação"); animaBarra.resume(); } Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Novembro 17, 2009 Tem uai você coloca um setTimeout de 170000 <----- Se 180 = 180 segundos 170000 = 170 segundos em milisegundos Então pode fazer setTimeout(função, 170000); Lembrando que setTimeout só executa 1 vez. Diferente do setInterval que fica executando de tempo em tempo de acordo com o intervalo dele. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Chead 1 Denunciar post Postado Novembro 17, 2009 fala berseck, então cara eu entendi essa função, mais como eu coloco ela nessa barrinha que te passei? aqui eu coloquei no final desse action aí, só que a barra ta no começo e ja dispara o movieclip, eu quero quando tiver chegando no final, dispare, pois a pessoa vai navegando no site e a barra tem umas paradas quando ele clica em alguns links, entende? valeu abraço! Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Novembro 17, 2009 Aqui: import mx.transitions.Tween; import mx.transitions.easing.*; var tempoSegundos:Number = 180; var animaBarra:Tween; animaBarraF(); abrirBtn.onRelease = onclickAbrirBtn; fecharBtn.onRelease = onclickFecharBtn; function animaBarraF(Void):Void { setTimeOut(funcao, 170000); animaBarra = new Tween(barraMc, "_width", Linear.None, 300, 0, tempoSegundos, true); animaBarra.onMotionfinished = onfinishedF; } function onfinishedF(Void):Void { trace("acabou tempo, recarrega pagina"); gotoAndPlay("start"); } function onclickFecharBtn(Void):Void { trace("fecha o mc e continua a animação"); animaBarra.resume(); } Compartilhar este post Link para o post Compartilhar em outros sites
Chead 1 Denunciar post Postado Novembro 18, 2009 fala berseck, eh cara então não deu certo, porque quando o cara clica em um botão que faz a barrinha parar, a tela vermelha vem a piscar independente da barrinha ter parado;;; :( Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Novembro 18, 2009 Bom Então ai teriamos que criar um POG :) Não sei se você já ouviu falar... rs mas é programação orientada a gambiarras hehehe E para isso eu vou criar um jeito de você conseguir mudar o tempo do intervalo de acordo com o que já foi passado... ou seja quando você clicar em stop... ou whatever ele vai para e pegar a posição do tempo que parou. Para isso vou criar 2 botões play e stop E usar o onEnterFrame para poder alterar a variavel de tempo ;) Só tem um porem nesse meu código... ele só vai funcionar se for um framerate de 10 //Crio uma variavel de tempo de 10 segundos var tempo = 10000; //Aqui crio meu botão de play bt_play.onPress = function(){ //Starto meu intervalo _root.onEnterFrame = startRun; } function startRun(){ //Faço os calculos e inicio se já tiver zerado a variavel e resto a mesma. trace(tempo); if(tempo <= 0){ tempo = 10000; intervalo(); }else { tempo -= 100; } } //Aqui crio meu botão de stop bt_stop.onPress = function(){ delete _root.onEnterFrame; } function intervalo(){ trace('Faço a animação' ); } Ou seja se for 12 frames por segundo você tem vez de usar - 100 vai ter que usar - 83.33 E assim vai... Tem que refazer a conta de acordo com o framerate. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Chead 1 Denunciar post Postado Novembro 19, 2009 Fala Berseck!!! Voce é o cara mesmo!!! hehehe Funcionou bem legal, só que só me deu um probleminha. Olha, eu coloquei um Enterframe la no topo do código para o usuario ja estrar no site executando esse comando. Até aí beleza. Aí o cara clica em um botão no palco e vai para um seção, o tempo parou. Ótimo, é exatamente como deve ser ok? Só que não estou conseguindo fazer com que quando o cara clique no botão de fechar a seção(movieclip dentro do palco), o código volte a rolar, pois o action todo está num frame do palco principal. Entei usar: _sessao.bt_fechaevoltapropalco.onPress = function(){ //Starto meu intervalo _root.onEnterFrame = startRun; } mas não deu certo, acho que não existe esse comando ( _sessao.btetc...... hehehe E se eu por o código todo dentro do movieclip, o enterframe não funciona no palco principal, obvio. Oque eu faço? Valeuuu Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Novembro 19, 2009 Bom se você colocar dentro do mc vai funcionar sim, pois ele ta com um _root.onEnterFrame Ou seja ele vai até a raiz e inicia, se tivesse com um this.onEnterFrame seria este(botão, mc, objeto) que estaria com o código. Nunca ouvi fazer em _sessao... só se você criou e igualou com algo _root = raiz do palco _global = GLOBAL acessivel de qualquer lugar, qualquer objeto ou variavel com um _global na frente é acessivel de qualquer lugar this = este(MovieClip, Button, Object) _parent = parente ou um a cima ou um a baixo, por exemplo estou no root e quero ir para um mc mas n sei qual é que tem uma função, posso usar o _parente(nem sempre funciona... mas as vezes da para fazer assim) ou você está dentro de um clip q está no root e quer acessar o root, então você faz _parent.variavel, _parent.function() Talvez esse _sessao seja o nome do MC que o bt_fechaevoltapropalco esteja dentro (instance name) Qualquer coisa use _root._sessao.bt_frechaevoltapropalco.onPress bla bla bla Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Chead 1 Denunciar post Postado Novembro 19, 2009 po berseck, que bacana cara estou entendendo melhor... tentei usar todos aqui, mas nao deu certo. olha, o código todo está no palco principal(scene), e eu quero acessar um botão no movieclip que esta no palco entende? o código que quero usar é: bt_play_c1.onPress = function(){ //Starto meu intervalo _root.onEnterFrame = startRun; mais o bt_play_c1 está dentro de um movie clip e esse código está no palco principal tentei usar _global.bt_play_c1, _parent.bt_play_c1 e nao deu.... oque será? sera que tenho que arrasta o código todo para dentro do mc? o ruim é que assim o _root.onEnterFrame = startRun; não vai funcionar Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Novembro 19, 2009 IIIIIII embaralho tudo hahahaha Vamos lá Para acessar um MC no qual você sabe o instance name dele. Por exemplo tenho um MC chamado home e dentro desse home tenho um botão chamado bt_play O que vou ter que fazer para acessar ele do palco principal é home.bt_play.onPress = function() { trace(this); } Ok acessei o botão! (se não acessei... deveria... tem erro no meu código rs... nesse ai tem erro não.... mas se não acessar é pq tem algo errado com outras coisas) Então ai no meu home eu quero liga esse timer ai q eu criei no _root Então basta eu fazer home.bt_play.onPress = function() { _root.onEnterFrame = startRun; } Isso claro nas condições ideais... com o vento a favor... e o peido não muito fedido rs Ai acho que se consegue acessar tudo certinho ;) Abraços Compartilhar este post Link para o post Compartilhar em outros sites