filipecrosk 0 Denunciar post Postado Agosto 27, 2009 Olá amigos, eu estou desenvolvendo um site que vai ter um FLASH com uma imagem no fundo, esse flash tem que ser auto-redimensionavel, para sempre fica ajustado em 100% da tela, seja de largura e altura. Até aqui tudo ok. O flash carrega a imagem externa, e se auto-ajusta. Mas não sei porque ele cria um espaço em branco/preto do lado esquerdo. Acessem: http://www.primeiroestilo.com.br/desenvolvimento/terratextil/flash.php Vocês vão ver que ele tá gerando um espaço do lado esquerdo, mas não era para ter isso, era para a imagem ficar alinhada no canto esquerdo/topo. Alguém poderia me ajudar? Quem quiser ver o arquivo FLA tá aqui: http://www.primeiroestilo.com.br/desenvolvimento/terratextil/image_load.fla Desde já valeu ajuda galera... Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Agosto 27, 2009 Pois é... Acontece que seu código de alinhamento está errado :) você tem que alinhar ele corretamente Normalmente é assim que se alinha alvo._x = alvo._x + (Stage.width/2 - alvo._width/2); alvo._y = alvo._y + (Stage.height/2 - alvo._height/2); Para conseguir as informações de width e height Você deve usar a classe MovieClipLoader Caso esteja usando o loadMovie... é aconselhavel que você saiba o tamanho da imagem... e assim faça o calculo como indicado acima. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
filipecrosk 0 Denunciar post Postado Agosto 28, 2009 Opa, valeu cara... mas infelizmente não consegui resolver... tenho 2 opções de código, mas nenhuma resolveu.. =( 1: var meuMVL:MovieClipLoader = new MovieClipLoader(); var meuListener:Object = new Object(); _root.createEmptyMovieClip("imagem", 0); meuMVL.loadClip(_root.imageFilename,imagem); meuListener._x = meuListener._x + (Stage.width/2 - meuListener._width/2); meuListener._y = meuListener._y + (Stage.height/2 - meuListener._height/2); meuMVL.addListener(meuListener); _root.texto._visible = false; _root.barra._visible = false; 2: //Código de carregamento de imagem _root.createEmptyMovieClip("imagem", 1); imagem.loadMovie(_root.imageFilename); _root.texto._visible = false; _root.barra._visible = false; barra.onEnterFrame = function(){ filmeTotal = imagem.getBytesTotal(); filmeBaixado = imagem.getBytesLoaded(); baixando = (filmeBaixado/filmeTotal)*100; barra._xscale = int(baixando); if( baixando == 100 ){ _root.barra._visible = false; delete this.enterFrame(); imagem._x = Stage.width/2 - imagem._width/2; imagem._y = Stage.height/2 - imagem._height/2; }; }; mas mesmo fazendo isso ainda continua dando o espaço... infelizmente faz tempo que não mecho com AS que nem sei mais como fazer isso... =(.. se puder ajudar... valeus :D Pois é... Acontece que seu código de alinhamento está errado :)você tem que alinhar ele corretamente Normalmente é assim que se alinha alvo._x = alvo._x + (Stage.width/2 - alvo._width/2); alvo._y = alvo._y + (Stage.height/2 - alvo._height/2);Para conseguir as informações de width e heightVocê deve usar a classe MovieClipLoaderCaso esteja usando o loadMovie... é aconselhavel que você saiba o tamanho da imagem... e assim faça o calculo como indicado acima. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Agosto 29, 2009 Errrrrr Isso aqui ta total errado: var meuMVL:MovieClipLoader = new MovieClipLoader(); var meuListener:Object = new Object(); _root.createEmptyMovieClip("imagem", 0); meuMVL.loadClip(_root.imageFilename,imagem); meuListener._x = meuListener._x + (Stage.width/2 - meuListener._width/2); meuListener._y = meuListener._y + (Stage.height/2 - meuListener._height/2); meuMVL.addListener(meuListener); _root.texto._visible = false; _root.barra._visible = false; meuListener é um objeto... objetos não são nada... a não ser que você implemente algo a eles.... O jeito correto seria: var meuMVL:MovieClipLoader = new MovieClipLoader(); var meuListener:Object = new Object(); _root.createEmptyMovieClip("imagem", 0); meuMVL.loadClip(_root.imageFilename,imagem); meuListener.onLoadInit = function(){ imagem._x = imagem._x + (Stage.width/2 - imagem._width/2); imagem._y = imagem._y + (Stage.height/2 - imagem._height/2); } meuMVL.addListener(meuListener); _root.texto._visible = false; _root.barra._visible = false; Abraços Compartilhar este post Link para o post Compartilhar em outros sites
filipecrosk 0 Denunciar post Postado Agosto 30, 2009 valeus berseck, dei uma estudada e consegui fazer o que queria... se alguém precisar algum dia tá aí a solução... O Flash vai carregar uma imagem externa, sendo passada através do parametro FlashVars, e vai jogar ela em 100% e se o cara redimensionar a janela a imagem vai ser redimensionada também, ficando sempre em 100%. E esse código é usando Action Scripe 3, então tem que lembrar de exportar nesse formato. import fl.transitions.Tween; import fl.transitions.easing.*; import flash.text.*; var xTween:Tween; var yTween:Tween; var varName:String; var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters; for (varName in paramObj) { imageFilename = String(paramObj[varName]); } var imageFilename:String; stage.addEventListener(Event.RESIZE, resizeListener); var carregarImg:Loader = new Loader(); var enderecoImg:URLRequest = new URLRequest(imageFilename); carregarImg.load(enderecoImg); addChild(carregarImg); carregarImg.contentLoaderInfo.addEventListener(Event.COMPLETE,funcComplete); function funcComplete(e:Event){ trace("Successfully Loaded"); carregarImg.width=stage.stageWidth; carregarImg.height=stage.stageHeight; addChild(carregarImg); } function resizeListener (e:Event):void { trace("stageWidth: " + stage.stageWidth + " stageHeight: " + stage.stageHeight); carregarImg.width=stage.stageWidth; carregarImg.height = stage.stageHeight; } stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; Compartilhar este post Link para o post Compartilhar em outros sites