Ainda Com Dúvidas Em Stage E Flash 100%
#1
Posted 02/10/2008, 16:13
Peço desculpas por tocar em um assunto tão largamente discutido na web, mas talvez por isso mesmo eu esteja aqui. Já testei dezenas de tutoriais e nenhum atendeu às minhas necessidades.
Tenho um site em Flash no ar, com 970 x 588 px de stage e de MC. Quando o criei, fiz com esse tamanho para ficar legal na resolução 1024 x 768, sem me importar com as demais. Mas agora quero que ele ocupe 100% da tela em qq resolução, principalmente 800 x 600 e 1280 x 1024, sem distorcer nem serrilhar as imagens, como que acontece quando uso 100% x 100% no Dreamweaver. Se eu exporto o SWF com qualidade "best" o serrilhado some, mas as imagens ficam embaçadas e o site fica pesado (ocupa muito a CPU). Vale frisar que meu site usa muitos PNGs com fundo transparente.
Já peguei alguns tutorais "pesados" de AS e até funcionou razoavelmente bem em 1280 x 1024, mas em 800 x 600 ele distorceu completamente. Acho que o problema pode estar no tamanho do meu stage e do meu mc principal (todo o site está dentro dele).
Minha pergunta é: agora que meu site está pronto, no ar, o que eu posso fazer para consertar os erros, sem ter de refazê-lo, e conseguir um bom resultado em todas as resoluções?
Um bom exemplo de site que se ajusta muito bem em qq resolução, mantendo totalmente intacta a qualidade das imagens, é o Avon Renew: www.avonrenew.com.br.
Valeu
#2
Posted 03/10/2008, 09:29
Se vc der um scale em um bitmap (não importa se dentro do flash ou não) ele vai distorcer. Existem pequenos truques para imagens fixas com a classe BitmapData, mas aí sua imagem inicial teria que ser muito grande. E isso não se aplica a um movieClip inteiro que depende de interação do usuário.
Sugestão: faça em vetor o que vc precisa esticar e use código nisso pra tudo.
Ou use vetor em tudo e deixe tudo em 100% x 100%.
Ou seja: ou você calcula e faz na unha como cada movieClip vai se comportar com relação ao Stage ou então faz tudo vetor e deixa o flash dar o scale conforme for possível.
Abraços.
pp
www.pedropauloalmeida.com.br
Leia as Regras! Colabore com nosso Fórum respeitando as normas de posts e de perfis.
#3
Posted 03/10/2008, 09:54
#4
Posted 03/10/2008, 13:55
flash.js
function flash(arquivo, largura, altura){
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="'+largura+'" height="'+altura+'" id="'+arquivo+'" align="middle">');
document.write('<param name="allowScriptAccess" value="sameDomain">');
document.write('<param name="movie" value="'+arquivo+'">');
document.write('<param name="quality" value="high">');
document.write('<param name="Scale" value="noScale">');
document.write('<param name="bgcolor" value="#ffffff">');
document.write('<embed src="'+arquivo+'" quality="high" bgcolor="#ffffff" width="'+largura+'" height="'+altura+'" name="'+arquivo+'" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">');
document.write('</object>');
};
function flashTrans(arquivo, largura, altura){
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="'+largura+'" height="'+altura+'" id="'+arquivo+'" align="middle">');
document.write('<param name="allowScriptAccess" value="sameDomain">');
document.write('<param name="movie" value="'+arquivo+'">');
document.write('<param name="quality" value="high">');
document.write('<param name="Scale" value="noScale">');
document.write('<param name="wmode" value="Transparent">');
document.write('<param name="bgcolor" value="#ffffff">');
document.write('<embed src="'+arquivo+'" quality="high" bgcolor="#d6d6d6" width="'+largura+'" height="'+altura+'" name="'+arquivo+'" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="transparent">');
document.write('</object>');
};Normal
<script language="JavaScript" src="flash.js"></script>
<script language="JavaScript">flash("arquivo.swf","100%","100%");</script>Transparente
<script language="JavaScript" src="flash.js"></script>
<script language="JavaScript">flashTrans("arquivo.swf","100%","100%");</script>flw
Tudo p/ Shopping Cart & E-mail Marketer BR
(usehost) Servidores VPS Cloud Computing
SMTP Dedicado | CPanel/WHM | WHMCS4
usehost.com.br | executtivo@msn.com | @filipemtro
#5
Posted 03/10/2008, 14:04
Seu javascrip para inserir o flash na página ainda seta o flash para noScale:
document.write('<param name="Scale" value="noScale">');Isso não adianta nada. O que ele quer não é exibir o flash em 100% sem distorcer. O que ele quer é escalar o swf sem distorcer para 100% da tela.
Isso não é possível sem muito estudo de caso nos clips internos e manter os bitmaps sem aumentar de tamanho ao mesmo tempo.
Sua solução é para outro problema.
Abraços.
pp
www.pedropauloalmeida.com.br
Leia as Regras! Colabore com nosso Fórum respeitando as normas de posts e de perfis.
#6
Posted 04/10/2008, 00:46
Valeu aí pela força. Vou tentar esta solução, ver no que dá. Se vcs conhecerem e puderem me passar algum tutorial que fale sobre este assunto, atendendo às especificações do meu projeto, eu agradeço. Abs
#7
Posted 06/10/2008, 12:42
Essa dica realmente não funfou. Resolvi exportar o arquivo SWF com 100% e qualidade "best". Em 1280 x 1024 as imagens ficam meio embaçadas e o site pesa mais, dando umas travadas. Mas tá funcionando. Vcs acham que uma boa solução seria refazer o site com tamanho maior, pensando em 1280 x 1024, e assim, ao reduzi-lo, a qualidade não se perderia tanto? Afinal, reduzir uma imagem parece mais fácil que esticá-la.
Outra dúvida que tenho é quanto ao tamanho do stage. Já olhei alguns sites em 100% de tela e percebi que o tamanho do filme é um e o do stage é outro. Vcs têm alguma sugestão?
Obrigado. Abs
Olá Pedro e ninhovip
Essa dica realmente não funfou. Resolvi exportar o arquivo SWF com 100% e qualidade "best". Em 1280 x 1024 as imagens ficam meio embaçadas e o site pesa mais, dando umas travadas. Mas tá funcionando. Vcs acham que uma boa solução seria refazer o site com tamanho maior, pensando em 1280 x 1024, e assim, ao reduzi-lo, a qualidade não se perderia tanto? Afinal, reduzir uma imagem parece mais fácil que esticá-la.
Outra dúvida que tenho é quanto ao tamanho do stage. Já olhei alguns sites em 100% de tela e percebi que o tamanho do filme é um e o do stage é outro. Vcs têm alguma sugestão?
Obrigado. Abs
#8
Posted 06/10/2008, 12:55
Já vi dezenas de tutoriais em AS sobre redimensionamento de SWF para 100%, mas nenhum se aplicou ao meu caso, mesmo pq meu site não tem vetores, só imagens JPG e PNG com fundo transparente.
Queria saber se uma boa dica para ter uma qualidade de imagem e navegação melhor, sem usar AS avançado, seria refazer o site pensando já na resolução 1280 x 1024. Dessa forma, quando alguém visse em 1024 x 768 ou 800 x 600, não teria grandes problemas, pois é mais fácil reduzir imagens do que aumentá-las. Estou certo?
Tb tenho dúvidas sobre o tamanho do MC principal e do stage. Já vi o código de alguns sites em 100% e reparei que esses tamanhos geralmente são diferentes. Enfim, quais são os melhores tamanhos para utilizar num projeto, de forma que o site se ajuste da melhor forma nas três principais resoluções?
Obrigado
#9
Posted 06/10/2008, 14:02
Eu criei uma função que controla os elementos do stage conforme ele se redimensiona.
O Stage está alinhado à esquerda e ao topo. Isso pode ser feito de forma diferente mas envolve bem mais cálculos.
É só para você ter uma idéia do que estou falando:
1. O flash é colocado para "Stage.scaleMode = 'noScale'". Essa configuração não dá um resize em "tudo".
2. No HTML o flash é setado para ser 100% por 100% em vez de informar sua altura e largura padrão, então o flash ocupa toda a janela, apenas ampliando a área visível do stage, mas sem redimensionar nada.
3. Dentro do flash existe uma função que redimensiona para o tamanho do stage ALGUNS objetos e outros não, para manter seu aspecto original.
Fiz um objeto que ocupa 30% do stage que fica sempre após outro que ocupa 70% e mais um "footer" que fica com a mesma altura mas sempre alinhado à base do Stage. Tem também um texto que não sofre alteração de tamanho independente do tamanho do stage, mantendo assim o aspecto geral do layout.
Isso é só um exemplo. Eu desenvolvo muitos jogos com essas funções de resize e vai dar um bom trabalho nos seus primeiros trabalhos já planejar o layout prevendo essas diferenças.
Abraços.
pp
PS: não duplique posts com sua dúvida. É contra as normas do fórum.
Attached Files
www.pedropauloalmeida.com.br
Leia as Regras! Colabore com nosso Fórum respeitando as normas de posts e de perfis.
#10
Posted 06/10/2008, 19:11
Desculpe ter duplicado o post. Fiquei com medo de que aquele outro, que já estava ficando meio antigo, se perdesse.
Valeu pelo arquivo, vou dar uma boa estudada nele.
Aconteceu uma coisa muito estranha com meu projeto. Em 1280 x 1024, o site principal ficou com as imagens um pouco embaçadas e meio pesado, mas dá pra ver legal. Já uma outra seção, que na verdade é um arquivo SWF e HTML diferente, embora tenha sido exportada da mesma forma (quality=best e 100% de width e height), ficou com as imagens todas serrilhadas. Será que é por causa da qualidade das imagens?
Mandei uma mensagem pra vc, aqui pelo fórum, passando os links. Se vc puder dar uma olhada, agradeço. Valeu. Abs
#11
Posted 07/10/2008, 08:12
Não se você ainda não entendeu o que eu te disse. Então vou tentar explicar melhor:
1. Não existe - e isso é 100% certeza - um modo de você dar um scale em TODOS seu flash (imagens juntos) de maneira que ele não fique serrilhado.
2. O que é possível fazer é como mandei no anexo acima: controlar o aumento dos movieClips na parte vetor, mantendo as imagens em seus tamanhos originais. Ou mandar o flash recarregar imagens de tamanhos diferentes conforme o tamanho do stage.
Setar pra "best" ou blablabla é pura perda de tempo. O que você pode fazer também é carregar uma imagem enorme e usar a classe BitmaData para gerar tamanhos menores conforme o stage muda de tamanho.
Veja o exemplo que te enviei e veja se está disposto a encarar essa. Se não estiver, faça um tamanho só, coloque no HTML 100% por 100% e no primeiro frame o scritp:
Stage.scaleMode = "noScale"
Assim ele vai apenas aumentar a área do flash mas sem "esticar" ele.
Abraços.
pp
www.pedropauloalmeida.com.br
Leia as Regras! Colabore com nosso Fórum respeitando as normas de posts e de perfis.
#12
Posted 07/10/2008, 11:16
Vou estudar os arquivos que vc me mandou, pode deixar. Já dei uma olhada neles. Mas foi o que eu disse: meu site não tem vetores. Te mandei os links numa mensagem aqui pelo fórum.
Eu entendi o que vc falou. Só comentei que achei estranho o fato de as imagens do site principal não serrilharem, e as do Perfil, sim. Se foram feitas da mesma forma, não sei pq acontece isso. Mas faz parte, como vc mesmo disse.
Como o site não tem vetores, acho que a solução para ele é complexa. Uma boa idéia, talvez, seja fazer a imagem de fundo bem grande, em tamanho fixo, sem escalar, de modo que apareça determinada área de acordo com a resolução. A foto dos cantores poderia estar fixa à direta e o conteúdo, à esquerda. Dessa forma, a diferença estaria no tamanho da área livre central, que mudaria de acordo com a resolução.
Acho que é dessa forma que funciona o site www.avonrenew.com.br. O que vc acha? Será que estudando bem o seu tutorial é possível fazer algo semelhante?
Valeu. Abs
#13
Posted 14/01/2010, 16:54
parabéns cara, você me ajudou muito quando achei esse tutorial, nunca um tutorial na net me ajudou tanto...
eu só gostaria de dar UMA ampliada nisso, uma única, como mover os objetos utilizando esse esquema do stage, com alguma animação tipo um tween e tal..eu utilizo esse tween aqui:
http://hosted.zeh.co...c_xslideto.html
se puder soh me dar essa ultima forcinha, agradeço!
abraços!
#14
Posted 17/03/2010, 20:05
A sugestão que tenho é o anexo.
Oi Pedro, este forum realmente é muito legal. Parabéns! Mas sou novato e não consigo abrir o exemplo que você deixou em anexo.
Quando tento abrir dá a seguinte mensagem: Unexpected file format.
Tenho o flash 8. Preciso de outra versão para abrir?
Orbigado!
#15
Posted 25/09/2017, 15:18
Medicament Acheter Levitra cialis North American Pharmacy Medikament Viagra 50 Mg
Mail Order Doryx Viagra Online Tesco Viagra Werbung cialis Drug Interactions Between Clarithromycin And Amoxicillin Mail Order Viagra From Canada
2 user(s) are reading this topic
0 membro(s), 2 visitante(s) e 0 membros anônimo(s)












