Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Chead

Como

Recommended Posts

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

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

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

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

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

É 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.