batisteli 0 Denunciar post Postado Maio 18, 2009 Olá todos! Pecisava de ajuda com o seguite problema: Tenho um campo de texto dinamico que carrega um arquivo txt. A este campo associei uma instancia do componente UIScrollBar. Quando publico o filme a barra de rolagem aparece e funciona normalmente porém, apenas uma vez. Se navego para outra parte do filme quando volto a barra de rolagem vira um pequeno retangulo no topo do campo e a rolagem do texto deixa de ser possível. agradeço desde já a quem me puder auxiliar Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Maio 19, 2009 Chame o carregamento do componente novamente. E resolve isso. abraços Compartilhar este post Link para o post Compartilhar em outros sites
batisteli 0 Denunciar post Postado Maio 19, 2009 Chame o carregamento do componente novamente. E resolve isso. abraços Ola berseck Quando dizes "chame o carregamento do componente novamente" é fazer um LoadMovie, por exemplo? tks! Ps: a pergunta pode parecer obvia mas, é que quando digo que sou iniciante é que sou mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Maio 19, 2009 Assim por exemplo: var loader:LoadVars = new LoadVars(); loader.load("texto.txt"); loader.onLoad = function(ok){ if(ok){ my_text.text = loader.texto; } else { my_text.text = "erro ao carregar o texto"; } } this.createClassObject(mx.controls.UIScrollBar, "scroller", 20); scroller.enabled = true; scroller.setScrollTarget(my_text); Coloca esse código no frame que ta o scroll scroller = UIScrollBar my_text = campo de texto dinamico Abraços Compartilhar este post Link para o post Compartilhar em outros sites
batisteli 0 Denunciar post Postado Maio 19, 2009 Olá berseck, Obrigado pela ajuda, mas tentei utilizar o script que sugeriu e o scroll não é criado adequadamente (não aparecem os botões nem a barra de rolagem) e também ocorre um erro de sintax no codigo a ser inserido no frame onde está o UIScroll. Estou a utlizar a seguinte condição: Um botão que está no frame 6 executa o script abaixo e o scroll funciona na primeira vez e depois some parcialmente conforme expliquei no primeiro post. Se me puder ajudar um pouco mais agradeço é que agora já estou a ficar sem tempo para entregar o trabalho. on (press, release) { gotoAndStop(8); setProperty("lt_esq", _alpha, "80"); var my_txt1_lv:LoadVars = new LoadVars(); my_txt1_lv.onData = function (src:String):Void { if (src != undefined) { my_txt1.text = src; } else { my_txt1.text = "Unable to load external file."; } } my_txt1_lv.load("cond_ger.txt"); } Ps: Com esta ajuda já está garantido o bacalhau, o vinho e um tour por Lisboa, que é onde moro, se algum dia vier por cá. Tks! Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Maio 20, 2009 Bom primeiramente vamos esquecer que existe on(press, release, rollOver) ok??? E vamos fazer assim: 1)Clique sobre o botão que você quer fazer a ação. 2)Selecione a parte de propriedades, e no campo de instancia de um nome ao botão no meu caso vou chamar de botao apenas. 3)Depois de intanciado o botão. Vá na parte componentes e pege o componente UIScrollBar. 4)Crie um campo de texto dynamic text, e instancie como texto 5)Coloque o UIScrollBar colado no campo de texto. 6)Crie uma camada chamada actions, faça com que os frames dessa camada seja por toda a animação ou frames utilizados no flash. 6)Agora vamos ao código, clique no primeiro frame da camada actions e escreva: botao.onPress = function(){ var loader:LoadVars = new LoadVars(); loader.load("texto.txt"); loader.onLoad = function(ok){ if(ok){ texto.text = loader.texto; } else { texto.text = "erro ao carregar o texto"; } } _root.createClassObject(mx.controls.UIScrollBar, "scroller", 20); scroller.enabled = true; scroller.setScrollTarget(texto); }; E pronto agora você tem um botão com ação dinamica :) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
batisteli 0 Denunciar post Postado Maio 20, 2009 Bom primeiramente vamos esquecer que existe on(press, release, rollOver) ok??? E vamos fazer assim: 1)Clique sobre o botão que você quer fazer a ação. 2)Selecione a parte de propriedades, e no campo de instancia de um nome ao botão no meu caso vou chamar de botao apenas. 3)Depois de intanciado o botão. Vá na parte componentes e pege o componente UIScrollBar. 4)Crie um campo de texto dynamic text, e instancie como texto 5)Coloque o UIScrollBar colado no campo de texto. 6)Crie uma camada chamada actions, faça com que os frames dessa camada seja por toda a animação ou frames utilizados no flash. 6)Agora vamos ao código, clique no primeiro frame da camada actions e escreva: botao.onPress = function(){ var loader:LoadVars = new LoadVars(); loader.load("texto.txt"); loader.onLoad = function(ok){ if(ok){ texto.text = loader.texto; } else { texto.text = "erro ao carregar o texto"; } } _root.createClassObject(mx.controls.UIScrollBar, "scroller", 20); scroller.enabled = true; scroller.setScrollTarget(texto); }; E pronto agora você tem um botão com ação dinamica :) Abraços Voltei :( Quase funcionou. O Scroll agora não desaparece entretanto está incompleto, não aparecem os botões nem a barra de movimento. E onde deveria carregar o texto aparece _Level0.texto Onde é que estou a errar?? Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Maio 21, 2009 Você está colocando no campo de texto a opção variable ao invés da instancia!!! A instancia fica bem a baixo da opção de static, dynamic ou input...... apague o que ta no campo de variable Abraços Compartilhar este post Link para o post Compartilhar em outros sites
batisteli 0 Denunciar post Postado Maio 21, 2009 Olá berseck, Quanto ao _level0, ok. De facto o campo de texto dinamico tinha uma variavel definida, rtirei-a e o filme funciona. Entretanto o texto não carrega e a o Scroll segue sem apresentar a barra de rolagem e os botões. Já verifiquei todas as possibilidades mas não dei pelo problema. Será que o facto de eu estar a usar o flash cs3 definido para utilizar o AS2 pode estar a causar o problema? No botão que leva o utlizador ao frame onde ele poderá ler o texto tenho duas acções: gotoplay e setproperty de um movie clip lá presente. Isto pode estar a provocar o probelma? Novamente obrigado por tua paciencia. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Maio 21, 2009 Não tem nada a ver um com o outro. Você pode usar CS4 com as2 que não vai dar problema. Você esta chamando o texto como eu disse??? Como está seu código depois das alterações poderia mostrar? texto se chama com intancia assim instancia.text Onde a instancia é o nome da instancia que você deu ao seu campo de texto. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
batisteli 0 Denunciar post Postado Maio 21, 2009 Segue o código. Fiz o seguinte checklist: » O codigo abaixo está no primeiro frame do filme e também está disponivel por todos os frames através de keyframe » O campo de texto dinamico está instanciado como "texto" » O campo vars da propriedade do campo de textodinamico está vazio » Existe um arquivo chamado "texto" com a extensão .txt em UTF8 na mesma diretoria onde está o filme » O UIScroll está presente no campo texto dinamico » O botão que dá acesso ao frame onde se encontra o campo de texto dinamico está instaciado como "botao" » O test movie (crtl+enter) não produz mensagens de erro » A UIScrool está presente em toda a nevegação stop(); botao.onPress = function(){ var loader:LoadVars = new LoadVars(); loader.load("texto.txt"); loader.onLoad = function(ok){ if(ok){ texto.text = loader.texto; } else { texto.text = "erro ao carregar o texto"; } } _root.createClassObject(mx.controls.UIScrollBar, "scroller", 20); scroller.enabled = true; scroller.setScrollTarget(texto); }; Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Maio 22, 2009 Ta agora não entendi :P Como não ta funcionando??? xD Segue um exemplo espero que ajude. Basta descompactar tudo na mesma pasta ok? http://www.4shared.com/file/106945739/12a1...xto_scroll.html Abraços Compartilhar este post Link para o post Compartilhar em outros sites
batisteli 0 Denunciar post Postado Maio 24, 2009 Olá berseck, Depois de apanhar muito acabei descobrindo que, pelo menos no meu FLA, tanto o script quanto o botão que o aciona têm de estar no mesmo frame. Depois também te esquecestes de dizer-me que na primeira linha do texto a ser carregado deveria ter a identificação da variável "&texto", se é que não estou em erro chamar isto de identificador. Estas duas modificações resolveram o carregamento do texto e a presença do UIScroll por todo o filme. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Porém agora tenho um pequeno bug :( que não consegui ainda identificar o que o produz. Quando clico no botão que carrega o texto aparece no canto superior esquerdo um pequeno retangulo vertical como se fosse um pedaço do UIScroll que fica presente durante todo o filme. Tens alguma idéia do que possa ser? Já agora, o que significa o "20" nos parametros do UIScroll? TKS! Até a proxima! Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Maio 25, 2009 bom provavelmente ele ta criando novamente o scroll :) Se você não nomear o scroller que você colocou na tela como scroller o comando que eu dei ali ele cria novamente o scroll xD assim irá ter 2 em sua tela Quanto ao 20 é a profundidade do mesmo em seu arquivo ;) conhecido tbm como depth() Abraços Compartilhar este post Link para o post Compartilhar em outros sites
batisteli 0 Denunciar post Postado Maio 25, 2009 Quando me dizias para arrastar para o stage uma instacia do UIScroll fiquei um pouco confuso pois entendia que o script o criava dinamicamente, bastava apenas que ele estivesse presente na library, correto? Descobri isto agora porque retiriei o UIScrool do stage e o script cria o Scroll. Se o instancio com um nome diferente de scroll (como está no script) aparecem dois Scroll e funcionam em conjunto. Fantástico não tinha nenhum e agora posso ter 2 funcioando em simultâneo. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Se não instancio ele fica posicionado no canto superior esquerdo e não attached ao campo de texto dinamico. Mas é curioso que mesmo completamente fora de posição funciona ma mesma. Sabes dizer-me como poderia definir o posicionamento correcto? Ou o attached deveria fazer isto automaticamente? Tks! Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Maio 25, 2009 posicionamento correto dele você determina através de x e y scroller._x = 200; scroller._y = 25; Por exemplo ;) Abraços Compartilhar este post Link para o post Compartilhar em outros sites