Elektra 102 Denunciar post Postado Janeiro 9, 2012 Carrega a index com o swf externo centralizado, mas ao redimensionar o navegador ignora o conteúdo mascarado e posiciona considerando o tamanho integral. Tanto faz tenha criado em uma layer ou dinamicamente. Depois disso outros arquivos também são carregados fora do lugar, mesmo com conteúdo estático. Centralizado >> Clique aqui Bug no resize >> Clique aqui (o fundo verde é apenas para visualização no PS) Certamente falta adicionar algo no action, mas ainda não encontrei referências sobre o assunto. Agradeço alguma orientação Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Foxn 3 Denunciar post Postado Janeiro 9, 2012 Oi Um objeto mascarado pode não aparecer na tela, mas isso não significa que ele não esteja lá e o width e height do Flash sabem disso e não vão esquecer isso só por que nós queremos sem fazer nada. Vi que você tem um plano de fundo, sempre que posicionar um objeto no swf use ele como referência para x, y, width e height. Quando for carregado externamente mantenha essas mesmas referências. Antes você fazia assim: externo.x = (local.width / 2) - (externo.width / 2); externo.y = (local.width / 2) - (externo.height / 2); Agora terá de fazer assim: externo.x = (local.width / 2) - (externo.fundo.width / 2); externo.y = (local.width / 2) - (externo.fundo.height / 2); Claro que uma opção "politicamente correta" seria sobrescrever o width e height para usar o fundo como referência mas ai é você quem sabe. Att Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Janeiro 9, 2012 Oi Foxn, muito obrigada pela atenção (querido amigo). :grin: Bem, nesse arquivo de teste usei bg_mc como background (com scaleX/Y vergonhoso), inicialmente com 600 x 400, mesmo tamanho palco_mc (container). stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; var stageTamanho:Number; var bgTamanho:Number; var anima:Tween; stage.addEventListener(Event.RESIZE, arrumaLayout); function arrumaLayout(e:Event = null):void { stageTamanho = stage.stageWidth / stage.stageHeight; bgTamanho = bg_mc.width / bg_mc.height; if(stageTamanho > bgTamanho){ bg_mc.width = stage.stageWidth; bg_mc.scaleY = bg_mc.scaleX; }else{ bg_mc.height = stage.stageHeight; bg_mc.scaleX = bg_mc.scaleY; } //... anima = new Tween (palco_mc, "x", Regular.easeOut, palco_mc.x, (stage.stageWidth * .5)- (palco_mc.width * .5), 2, true); anima = new Tween (palco_mc, "y", Regular.easeOut, palco_mc.y, (stage.stageHeight * .5)- (palco_mc.height * .5), 2, true); } arrumaLayout(); //... Sobrescrever seria para uso em uma classe ou pode ser também com code estruturado? Nesse caso tenho um bg_mc no stage (redimensionável) e um container (com tamanho fixo). Se possível, poderia dar um toque caso eu monte a página dinamicamente em um Sprite. Vou testar aqui. Dou retorno. Valeu mesmo!!! Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Janeiro 9, 2012 Consegui resolver o posicionamento do container. arquivo publicado (por favor desconsidere o action dos botões) Se não for a maneira mais adequada (ou tiver risco de bugar) pode descer o sarrafo, tenho muita disposição (e humildade) pra aprender. anima = new Tween (palco_mc, "x", Regular.easeOut, palco_mc.x, (stage.stageWidth * .5) - 300, 2, true); anima = new Tween (palco_mc, "y", Regular.easeOut, palco_mc.y, (stage.stageHeight * .5) - 200 , 2, true); Só não curto muito a home entrar 'voando' :lol: ... mas isso eu sei como resolver, e naturalmente vou usar um container com dimensões maiores. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Foxn 3 Denunciar post Postado Janeiro 9, 2012 Realmente, para sobrescrever você teria de estar trabalhando com classes mesmo. E neste caso como você não está trabalhando com classe o swf principal não vai saber que existe o movieclip "bg_mc" dentro do swf externo e neste caso você teria de fazer mais adaptações. Faz tanto tempo que não programo em Flash que me esqueci desse detalhe importante. Bom, é possível fazer com mais adaptações mas vamos para um pouco com as gambiarras tudo tem limite. Você pode usar este comando: content.loaderInfo.width content.loaderInfo.height Ele te dirá o tamanho real do palco, não importa o tenha dentro dele. Fiz algumas alterações no seu código para funcionar: import flash.display.Loader; import flash.net.URLRequest; import flash.display.StageScaleMode; import flash.display.StageAlign; import flash.events.Event; import fl.transitions.Tween; import fl.transitions.easing.Regular; stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; var stageTamanho:Number; var bgTamanho:Number; var anima:Tween; function eventoCompleto($evento:Event):void { trace("-- Tamanho real da tela carregada ---------"); trace("width:",palco_mc.content.loaderInfo.width,"px"); trace("height:",palco_mc.content.loaderInfo.height,"px"); trace("-- Tamanho da tela carregada com os elementos dentro dela ---------"); trace("width:",palco_mc.content.width,"px"); trace("height:",palco_mc.content.height,"px"); // Arrumando layout arrumaLayout(); } var palco_mc:Loader = new Loader(); palco_mc.contentLoaderInfo.addEventListener(Event.COMPLETE,eventoCompleto); this.addChild(palco_mc); palco_mc.load(new URLRequest("tela.swf")); stage.addEventListener(Event.RESIZE, arrumaLayout); function arrumaLayout(e:Event = null):void { try { stageTamanho = stage.stageWidth / stage.stageHeight; bgTamanho = palco_mc.content.loaderInfo.width / palco_mc.content.loaderInfo.height; if (stageTamanho > bgTamanho) { palco_mc.width = stage.stageWidth; palco_mc.scaleY = palco_mc.scaleX; } else { palco_mc.height = stage.stageHeight; palco_mc.scaleX = palco_mc.scaleY; } //... anima = new Tween (palco_mc, "x", Regular.easeOut, palco_mc.x, (stage.stageWidth * .5)- ((palco_mc.content.loaderInfo.width * palco_mc.scaleX) * .5), 2, true); anima = new Tween (palco_mc, "y", Regular.easeOut, palco_mc.y, (stage.stageHeight * .5)- ((palco_mc.content.loaderInfo.height * palco_mc.scaleY) * .5), 2, true); } catch ($e:Error) { // Ignorar pois a tela pode não ter sido carregada ainda } } arrumaLayout(); Desta vez eu testei antes, funciona. Só quero saber, você realmente tinha a intenção que ele ocupa-se realmente todo o topo ou lateral de onde for carregado? Naquele seu desenho não parecia isso, mas o script que você mando faz. Att Compartilhar este post Link para o post Compartilhar em outros sites
Foxn 3 Denunciar post Postado Janeiro 9, 2012 Consegui resolver o posicionamento do container. arquivo publicado (por favor desconsidere o action dos botões) Se não for a maneira mais adequada (ou tiver risco de bugar) pode descer o sarrafo, tenho muita disposição (e humildade) pra aprender. anima = new Tween (palco_mc, "x", Regular.easeOut, palco_mc.x, (stage.stageWidth * .5) - 300, 2, true); anima = new Tween (palco_mc, "y", Regular.easeOut, palco_mc.y, (stage.stageHeight * .5) - 200 , 2, true); Só não curto muito a home entrar 'voando' :lol: ... mas isso eu sei como resolver, e naturalmente vou usar um container com dimensões maiores. Abraços Hum... nota mental: dar reflash na página antes de postar O que você fez funciona desde que o swf principal tenha o palco do mesmo tamanho do swf externo. Se forem do mesmo tamanho (não importa os elementos dentro deles) você não terá problema algum. Muito bom mesmo. Att Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Janeiro 10, 2012 Agradeço muito pela atenção (aula de mestre). :worship: Alterei o nome da variável para o load e na function eventoCompleto, obtive os valores no trace. var carregar:Loader=new Loader(); carregar.contentLoaderInfo.addEventListener(Event.COMPLETE,eventoCompleto); palco_mc.addChild(carregar); carregar.load(new URLRequest("galeria_mask.swf")); -- Tamanho real da tela carregada --------- width: 600 px height: 400 px -- Tamanho da tela carregada com os elementos dentro dela --------- width: 1001.4 px height: 400 px Mas é tudo, não faz o resize do bg_mc ou centraliza o container. Mantém o tamanho fixo e posiciona no canto superior esquerdo. Vou estudar o uso das propriedades que mencionou (já dei uma olhada no Help). É interessante compreender formas mais eficientes de realizar o que precisamos. Para quem está começando, manter o swf externo nas mesmas dimensões do container fica de bom tamanho. Grande abraço obs: se usar o botão pra inserir imagens exibe as tags, só funfa se colar a url direto no post. Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Janeiro 11, 2012 obs: se usar o botão pra inserir imagens exibe as tags, só funfa se colar a url direto no post. Desculpa novamento o off-topic mas percebo que vem reclamando repetidamente do erro no recurso mas quem o está usando errado é voce tentando colocar a url do caminho da pagina web que contem a imagem e não a url da imagem em si que é o correto Quando usar corretamente o recurso este erro não ocorrerá mais No caso deste link acima a mensagem de erro já avisa isso Você não pode usar esse tipo de imagem no fórum. Um formato válido seria: http://www.site.com.br/foto.gif, e um formato inválido seria: http://www.site.com.br/foto.dois.gif Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Janeiro 12, 2012 Desculpa novamento o off-topic mas percebo que vem reclamando repetidamente do erro no recurso mas quem o está usando errado é voce tentando colocar a url do caminho da pagina web que contem a imagem e não a url da imagem em si que é o correto Quando usar corretamente o recurso este erro não ocorrerá mais No caso deste link acima a mensagem de erro já avisa isso Código alternativo >> fornecido pelo imageshack (sem acessar minha conta) Clique no link inserir imagem e cole a url. http://img851.imageshack.us/img851/5889/84329329.jpg' alt='84329329.jpg'> Uploaded with ImageShack.us[/img] Código alternativo colado direto no post. Uploaded with ImageShack.us Observe que é a mesma url. Muitas vezes prefiro postar assim, adiciono imagens em outros locais e seguidamente excluo o que está na minha conta do imageshack. É uma forma de não deixar links quebrados de imagens. Também já tive problemas para inserir um vídeo do YouTube na sessão Artigos e Tutoriais. A única forma possível foi o link. Já em entrenimento foi tranquilo. Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Janeiro 12, 2012 Não A url que postou e deu erro foi http://imageshack.us/photo/my-images/696/loaderinfo.jpg/ INVALIDA Deveria ter usado esta http://img696.imageshack.us/img696/7174/loaderinfo.jpg VALIDA Basta olhar para o fim de ambas que verá o erro Se usar a url valida sempre funcionará A url valida é o que o imageshack chama de Direct Link Já em entrenimento foi tranquilo. Ao que parece no entretenimento o pessoal usa corretamente o recurso Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Janeiro 12, 2012 Mário, o link que você mencionou como INVÁLIDO foi postado acessando minha conta, e usando o link para thumbnail. Direct link é para postar imagens full. Como mencionei, regularmente excluo as imagens. Olhe o resultado ao excluir a imagem que mencionou. Não há necessidade de postar uma imagem de 1440 x 900 px (resolução do meu monitor ao fazer um Print Screen) no fórum de Flash. Novamente sem acionar minha conta (link fornecido para miniaturas). Ao acionar o ícone do fórum : http://img97.imageshack.us/img97/6708/49451353.th.jpg' alt='49451353.th.jpg'> Uploaded with ImageShack.us[/img] Ao colar a url direto no post: Uploaded with ImageShack.us Só mencionei o fato porque anteriormente usava estes links no post ao acionar os botões e funcionava. Experimente postar um vídeo na sessão Artigos e Tutoriais, talvez já tenham corrigido e você consiga a proeza. Esse não tem como errar. Até hoje, tenho que adicionar amigos manualmente ao receber a solicitação por mp (ir no perfil alheio e clicar em adicionar), o gerenciar amigos não resolve, os recursos do fórum funcionam para alguns usuários, não todos. Também avisei diversas vezes. Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Janeiro 12, 2012 sobre excluir imagens sei que sairá do ar por isso sempre gero as imagens sem está logado também e uso as directs imagens, apenas usando o botão direito do mouse e copiar o caminho da imagem bom deixa eu tentar explicar sobre as imagens, mas peço que observe as partes dos link que você usou como exemplo se usa o link para fóruns gerados pelo imageshack não ponha dentro da tag img que não funcionará ponha diretamente no post mesmo, esse é o correto A tag img é para por apenas e tão somente links diretos para imagens, foi para isso que ela foi concebida Se quer usar as miniaturas tem que por o link para foruns diretamente no post e não dentro das tag imag Exatamente como você fez acima e isso é o correto Por aqui dá para ver você colocou uma salada de frutas dentro da tag img e isso não tem como funcionar, de cara da para ver que colocou uma tag img dentro de outra além de outras coisas Porque é uma imagem valida O resto do link é uma URL que abraça esta imagem direcionando para a pagina que contem a imagem que seria usada com o direct link e não a própria imagem http://imageshack.us/photo/my-images/97/49451353.jpg/ Usando na tag URL fica assim URL para a pagina do imageshack e não para a imagem direta O finalzinho ali é só propaganda do imageshack que inclusive é opcional, se tirar não fará falta O imageshack em seu link para fóruns apenas une as duas coisas ficando assim Você escolhe o que vai fazer mas tem que fazer usando corretamente as opções Não é erro no Fórum iMasters e sim na forma como está usando as ferramentas, em todos os fóruns IPB ocorrerá o mesmo Se quer usar o link para fóruns post direto no fórum, se for usar o caminho de uma imagem use a tag img, simples assim Espero que tenha conseguido me explicar mais claramente neste post Compartilhar este post Link para o post Compartilhar em outros sites