Ir para conteúdo
Fórum Script Brasil
  • 0

§trute® Cadê VocÊ?


hipnose

Pergunta

Cara, deculpe tomar a liberdade de te mandar uma mensagem particular, postada publicamete mas minhan dúvida é importante e urgente. E, além de tudo, na verdade foi você quem me guiou neste desenvolvimento. Mandei uma cópia desta mensagem para tua caixa postal aki no scriptBrasil. Sou aquele cara que tem uma locadora de dvds e fiz um flash para mostrar os trailers dos filmes quando o cliente digita o código e apertar enter, pois não terá botão algum. Não deixarei mouse para o user mexer.

Seguinte:

- fiz uma tela de apresentação

esta tela tem movie clips etc... isso já tá pronto. Quando o user aperta enter, aparece a segunda tela:

- segunda tela

esta tela tem uma figura de fundo e um campo de texto com as seguintes propriedades: input text, instancia "campo", 4 algarismos, somente números. também coloquei uma ação para que assim que aparecer esta tela, o cursor já esteja dentro do campo de texto. isso já fiz também. Tudo isso está no frame 1.

no frame 2 coloquei um movie clip chamado 0001 e no frame 3 coloquei outro movie clip chamado 0002 e assim por diante.

coloquei uma camada chamada ações.

Obs.: cada trailer eu fiz em um movie clip separado tendo como nome o código de cada filme em meu software de controle da locadora e este número está á mostra nas caixinhas dos dvds expostosnas prateleiras. (0001, 0002, 0003, etc..)

a ação que diz para aparecer a segunda tela assim que o user aperta enter está ok. (on Keypress.....etc...)

a ação que manda o cursor ir para o campo de texto já deu certo (um tal de SetFocus que vc. me deu a dica)

Minhas dúvidas:

agora, preciso de uma ação que diga para o flash que conforme o número digitado no campo de texto, pule para o frame que contém o movie clip com o trailer. exemplo: ao digitar 0001, pule para o frame 2(no frame 2 está o movieclip 0001). veja abaixo o que coloquei:

if(campo.text==0001){

gotoAndPlay(2)

}

if(campo.text==0002){

gotoAndPlay(3)

}

acontece que basta dar enter no campo de texto com qualquer número digitado ou então, sem mesmo digitar nada, que ele pula pro frame seguinte e depois pro outro e assim vai...

preciso de uma ação que diga para o flash voltar para o frame onde está o campo de texto. já coloquei em cada movieclip um stop()

no último frame, mas não adianta. fica dando play direto. em loop. e não volta pro frame 2.

preciso para finalizar, uma ação que diga para que após ficar 20 segundos na tela que tem o campo de texto e ninguém digita nada, o flash joga pro frame 1, que tem a tela de apresentação.

Só isso. se vc. achar melhor posso te passar meu fla.

Desculpe te encher o saco, mas estou precisando mesmo disso.

E não é pra vender nem nada é pra meu uso mesmo, falô?

Vou ficar a madrugada toda mexendo nisso. se tiver alguma coisa esta noite, ma avise,ok?

meu hotmail é: hipnosee@hotmail.com

meu e-mail: abdalam@globo.com

mauricioabdala@ig.com.br

valeu!!!!!!!!!!!.

Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

  • 0

sobre a primeira duvida....

tipo....supondo q o campo de texto tenha instancia de 'campo'....coloca ae algo como...

var frame=campo.text;

if(Key.isDown(Key.ENTER)){

gotoAndPlay(frame);

}

ae no caso, você teria q dar instancia pra todos os frames, tipo....como você falo...da a instancia do frame 2, de 0001

ae o q o cara digitou la, vai ser interpretado no goto....

quanto ao de esperar um tempo...você pode fazer algo como....

coloca isso no frame q você quer.....

stop();

b = setInterval(a, 20000);

function a() {

gotoANdPlay(1);

clearInterval(cool.gif;

}

eu não entndi essa de q ele num ta paranu nos frames com stop();, tenta ao em vez de usar um gotoAndPlay, usar um gotoAndStop();

qualquer coisa posta ae................./

falow!!!!!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, deu certo o lance do campo, o campo de texto realmente tem o label "campo"

NEsse caso, que você me passou...

var frame=campo.text;

if(Key.isDown(Key.ENTER)){

gotoAndPlay(frame);

}

até aí beleza.

tenho vários swf, cada um com um cod. diferente.

tipo...tenho o 0185.swf, 1154.swf....assim por diante.

tipo assim... o goto lê o que io ara escreveu no campo e vai pro rfame onde o label é o mesmo que o cara escreveu, certo? então tá.

fiz isso e não deu, pois ele pula pro frame seguinte (no caso o 2) independente do que eu escreva no "campo". Mesmo sem digitar nada e ele já pula pro próximo frame e vou dando enter, até voltar para a tela que tem o "campo".

Tem como dizer que se o cara não digitar nada, continua no mesmo frame sem sair?

Vou resumir o que tenho e as ações que fiz: assim vc. pode me corrigir e solucionar este problçema.

apresentação.swf=> tela com o logo da locadora, música, texto animado (swish) e seguinte a ação:

if(Key.isDown(Key.ENTER)){

gotoAndPlay(???); //aqui, eu preciso chamar outro swf e não outro frame. preciso chamar o parte2.swf

}

isso faz entrar aquela tela que pede o código do filme.

esta tela está em um outro swf:

parte2.swf=> tela com um fundo e um campo de texto com label "campo", 4 caracteres, somente números, input text.

e as seguintes ações:

---no frame 1 da camada ações----

Selection.setFocus("campo");

stop();

dividi em algumas camadas para meu controle.

texto input, telafundo e ações.

----no frame 1 da camada texto input (onde está o "campo"---

var frame=campo.text;

if(Key.isDown(Key.ENTER)){

gotoAndPlay(frame); //isso vc. me passou a noite passada.

}

pronto!. a partir daí, os frames seguintes, cada um tem um movieclip com o trailer de cada filme. Todos tem uma ação stop() no último frame.

Desculpe, mas sou muito burro nesse negócio de prgramação, mas acho que estamos quase acabando. Daí prometo não te incomodar mais.. rêrêrê.

Link para o comentário
Compartilhar em outros sites

  • 0

//Tem como dizer que se o cara não digitar nada, continua no mesmo frame sem sair?//

var frame=campo.text;

if(Key.isDown(Key.ENTER)){

if(frame==""){

stop();

}else{

gotoAndPlay(frame);

}

}

-----------

naquele q você preciosa chamar outro swf, não seria com goto, e sim com loadMovie......

tipo.........

if(Key.isDown(Key.ENTER)){

_root.createEmptyMovieCLip("mc",10);

mc.loadMovie("parte2.swf");

}

-----------------

e por ele não estar indo nos frames la quando c aperta enter......c tem certeza q você colocou as instancia respectivas a eles??????????

qualquer coisa tenta assim......

if(Key.isDown(Key.ENTER)){

var frame=campo.text;

gotoAndPlay(frame); //isso vc. me passou a noite passada.

}

se pah assim da certo......porque antes ele pegava o valor do campo antes de tudo..agora apenas quando c der o Enter...tenta ae.......

falow!!!!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, fiz tudo que você mandou. A primeira parte deu certo, o lance do tempo lá. mas o goto não conseggue interpretar o comando. deve ter algo errado.

Meu, eu tirei as figuras e od vídeos e te mandei o arquivo fla pro teu email do hotmail, pra você dar uma olhada. pra você é fácil .

sei que é só algum detalhe que falta.

Só mandei a parte2. a parte1 vai chamar a parte 2.

Eu fui inventar essa m... e agora tenho que fazer, pois até já divulguei publicamente que terá isso na locadora.

Cara, me dá esssa força, vai...

Se você achar abuso demais, veja um preço pro teu trabalho e pelo incômodo que te causei. Só preciso dessa coisa funcionando, pois é só o começo. depois, coloco o resto dos filmes, etc....

Abraço.

Mauricio.

Link para o comentário
Compartilhar em outros sites

  • 0

Meu, alterei algumas coisas e acho que melhorou. vej a o que está errado, por favor:

parte1.swf

tem uma ação lá

ifKey.isDown(Key.ENTER)){

loadMovie("parte2.swf",0);

}

daí, na parte2.swf

tem uma action assim

Selection.setFocus("campo");

var frame=campo.text;

if(Key.isDown(Key.ENTER)){

if(campo.text==""){

this.stop();

}else{

frame=campo.text+".swf";

loadMovie(frame,0);

}

}

o resultado foi um arquivo muito mais leve, pois não tem os trailers dentro dele, mas ele continua na tela pedindo o código e não vai pros trailers.

se não digito nada e dou ENTER ele nem se mexe (colocamos isso nas actions, tudo bem)

se digito o número do filme tipo...0185 (e existe um 0185.swf na mesma pasta)

ele também fica só na mesma tela, não carrega o 0185.swf pro stage.

aguardo

valeu de novo.

Link para o comentário
Compartilhar em outros sites

  • 0

ae não vai dar certo mesmo...porque você já carregou um mc no level 0, e ae você ta tenta carregar outro não é?......ae nem da..........é só um objeto por level....coloca ae no segundo loadMovie, um ,100); só pra teste....

ah...e é bem melhor carregar um filme dentro de um MC.....da pra você ter mais controle sobre ele.....hehe

falow!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

coloquei assim.

Selection.setFocus("campo");

if(Key.isDown(Key.ENTER)){

if(campo.text==""){

this.stop();

}else{

frame=campo.text+".swf";

_root.createEmptyMovieClip("mc",0);

mc.loadMovie(frame,100);

}

}

e Nada!!!.

fica na mesma tela e não carrega os swf.

e o pior é que só tem esse código de AS, mais nada. Mas acho que é o suficiente, né?

Cara, falta pouco .......

Falô.

Link para o comentário
Compartilhar em outros sites

  • 0

tenta apenas trocanu isso...

_root.createEmptyMovieClip("mc",10);

_root.mc.loadMovie(frame);

porque eu na mesma.... c criou o mc no mesmo level usado pelo outro filme.......o 0........

falow!!

Link para o comentário
Compartilhar em outros sites

  • 0

Strute, falta só o loadMovie.

O que tá errado?

todo o projeto tem só um frame e 4 camadas.

isso tá na camada action (não sei se tá funcionando, pois não sai dessa tela...)

b=stop();

setInterval(a,20000);

function a(){

gotoAndPlay(1);

clearInterval();

}

e isso tá na camada onde tem o campo de texto

Selection.setFocus("campo");

if(Key.isDown(Key.ENTER)){

if(campo.text==""){

this.stop();

}else{

frame=campo.text+".swf";

_root.createEmptyMovieClip("mc",10);

mc.loadMovie(frame);

}

}

na mesma pasta tenho (so pra testar) 1154.swf e 0185.swf.

daí digito 1154 ou 0185 e duo enter e nada acontece.

já mudei várias coisas, tipo, tirar o stop(), carregar em mc ou não, colocando entre parenteses, entre aspas, sei lá .....

e fica na tela do campo.text. algo tá prendendo nessa tela.

será tem algum tipo de ordem para colocar essas linhas de action?

Meu flash é o MX (que vem no Studio MX) e uso windows XP

Mano, num desiste, cara...me ajuda..........

valeu.

sad.gif

Link para o comentário
Compartilhar em outros sites

  • 0

eu não etndi o seu setInterval, porque se você só tem um frame, e ta tudo nele mesmo, aquilo ali não vai fazer efeito nenhum....apenas se colocado em otra cena...............hehe

ah...e tipo...agora eu chepei...e perdi a preguiça......hehe...abri o flash e testei aqui.......

cada erro bobo viu...só faltou algo, q ficasse peganu o valor do enter no campo a todo momento......

tenta agora oh:

stop();

onEnterFrame = function () {

if (Key.isDown(Key.ENTER)) {

if (campo.text == "") {

campo.text = "Campo vazio";

} else {

_root.createEmptyMovieClip("mc", 100);

mc.loadMovie(campo.text+".swf");

}

}

};

funfo certim.........

falow!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

laugh.gifbiggrin.gif URRÚUU!!!! wink.gifsmile.gif

Cara, funfô de BÔaaaa...

só uma coisa. dry.gif

quando vem o trailer, ele vem em cima da tela que o user digita o codigo, não sai nem o som dela (é que ela tem um mp3 rolando de fundo).

como fazer parar a tela e a música que acabam ficando por baixo do trailer?

só isso. mas tá entrando tudo certinho e tal.

Ah!! aquele lance do setInterval, lembra, eu te pedi como faz se ficar 20segundos sem o user digitar nada, volta pra tela de apresentação. (apresenta.swf)

se der, posta como é entaum, já q não é daquele jeito...

valeu...

Link para o comentário
Compartilhar em outros sites

  • 0

eu lmebro sim da tela dos 20 segundos.....mas isso se fosse sei la....com mais de um frame ou com duas cenas.....pelo q eu entendi, c tava tentanu fazer tudo aquilo em um unico frame....ae num ia ter jeito não é?...

e tipo....pra parar o som......c pode colocar um som.stop();

ou mesmo um stopAllSounds();

e essa tela q fica ae depois do trailler eu não entendi não...é um mc ou o q??

se for um mc...coloca ae um instancia.removeMovieClip();

falow!!!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

É assim.

apresenta.swf= fica com textos animados falando da locadora e uma frase: pressione enter. Daí, o cara aperta enter e vem o:

parte2.swf, que é o que aquele problemático gente terminou ontem. nessa tela, é onde o cara digita o código. fica o campo com o cursor piscando e uma musica de fundo.

daí o cara digita o código e entra o loadMovie com o swf. tudo isso tá rolando na boa.

o erro é que o swf chamado pelo campo de texto, entra sobre o parte2.swf. E o parte2.swf fica rolando embaixo, e o som dele também, é claro, atrapalhando o trailer.

quero que o parte2.swf pare, antes de entrar o xxxx.swf que o campo de exto chamou.

tentei o stopAllsounds, mas daí ele não toca o som do trailer . Mas eu acho que se parar o parte2.swf o som dele também para,né. daí fica só rolando o trialer. No final de cada trailer eu coloquei um loadmovie pro parte2.swf. daí começa de novo pedindo pro cara digitar o código isso também funciona direitinho.

quanto aos 20 segundos quero quwe o parte2.swf fique na tela, como já está, mas se ninguém digitar nada em 20 segundos, ele chama o apresenta.swf. só isso.

valeu.

Link para o comentário
Compartilhar em outros sites

  • 0

tipo.....essa parte2, ae ta dentro de um mC????????

se tiver, é só você na hora q carregar la o outro arquivo, colocar

instancia.stop(); tb...ae ele vai parar o MC em q esta essa parte2......

falow!!!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

não... o parte2.swf é um arquivo independente. não é chamado dentro de um mc.

o arquivo apresenta.swf tem uma action que chama o parte2.swf. mas isso tá rolando na boa.

o parte2.swf é que chama os outros swf, aí sim dentro de mcs. mas fica rolando em baixo como se fosse em uma layer abaixo da layer qu tá rolando.

acho que resumindo, a dúvida é:

como fazer para que um swf, que está rodando dentro de um mc, fique rolando sozinho após ser chamado.

ou

como parar parte2.swf enquanto 0000.swf é tocado (e 0000.swf é chamado pelo parte2.swf).

valeu

Link para o comentário
Compartilhar em outros sites

  • 0

se você não carregou ele em um mc....você carregou em um level não é?.......supondo q você tenha carregado ele no level 10, você faria o seguinte pra parar ele...

_level10.stop();

e quanto ao filme rolar automaticamente, quando você carrega ele isso já acontece...a menos q você tenha colocado um stop no primero frame dele.....

falow!!!!!

falow!!!!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

ueh cara....ae não sei.......

vai ver q o projetor esta intepretanu o ENTER como alguma otra coisa....o q num era pra acontecer..........

tenta usar outra tecla só pra teste......

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...