1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda Flash e HTML

Discussão em 'Web Development' iniciada por Velshed, 3 de Outubro de 2007. (Respostas: 10; Visualizações: 1101)

  1. Velshed

    Velshed Power Member

    Boas pessoal,
    Dps de feito o ficheiro no flash, tento publicar e aquilo fica numa pagina html. Até aí td bem. Já agr uma nota. O ficheiro em flash document ocupa acho eu 15 MB e quando ta numa pagina html já só ocupa 1,54 kb. Estranho (penso eu).
    Agr o meu problema é o seguinte: eu queria que a pagina dps d tar em ficheiro html, ao levar esse ficheiro numa pen ele desse para ser visto noutro computador. Só que eu tentei e não dá. :S
    Porquê?

    Cumps...
     
  2. bem... só ocupa 1,54kb porque só metes lá a referencia nessa pagina.. o browser depois vai carregar o ficheiro flash.

    Quanto a não funcionar noutros comps. das duas uma... ou não têm o flash instalado no pc ou então o browser não consegue aceder ao ficheiro flash porque não está na pen/pc/whatever.
     
  3. Velshed

    Velshed Power Member

    Entao para visualizar noutro computador e preciso instalar o flash?
    E dps levar o flash document na pen?
     
  4. michael c

    michael c Power Member

    O ficheiro html "apenas" posiciona o ficheiro swf num determinado sitio numa relação de pixeis. O swf é embebido para dentro do html que lhe serve apenas de referência. Assim se explica que, no teu caso, o swf tenha 15mb e o html apenas alguns kb's. Quando quiseres visualizar o html em outro computador ou colocar online terás obrigatóriamente de ter o ficheiro swf ao lado do html. No computador onde visualizares terás de ter o flash player instalado...não o Adobe Flash mas sim o Adobe Flash Player.

    Só uma chamada de atenção, 15MB (num único swf ) para colocar online é demasiado! No futuro deverás ter em atenção o tamanho dos swf's que geras. Pensa assim, no teu caso, uma pessoa que tenha uma ligação que faz download a 40kb's/50kb's tem de esperar cerca de 5 a 7 minutos para visualizar o conteúdo do teu site. É mesmo muito, a maioria dos utilizadores não esperam 1 minuto.

    No futuro divide o site por categorias e usa um ficheiro swf como principal para onde pequenas partes do site são carregadas, por exemplo, através do comando "loadmovie"...

    Cumps, e bom flashing:)
     
    Última edição: 4 de Outubro de 2007
  5. Velshed

    Velshed Power Member

    Como assim? Normalmente a velocidade da net nunca e abaixo de 512KB por segundo!
    Epah e acho que isso tb tem a ver com o tipo de alojamento que metes. Se tens um espaço grande ou pequeno. No meu casa tou a pensar usar 150MB.
     
  6. michael c

    michael c Power Member


    Não,errado. Eu tenho uma ligação 1MB e os meus downloads funcionam a uma media de 100kb's. Quando tinha 512 funcionava ainda a muito menos. Isso da velocidade de acesso é pura teoria. Está dependente de outros factores como a distância ao servidor, não do espaço em servidor mas sim da capacidade de upload deste e da distância a que está quem acede. Quanto mais distância mais perdas. Um SWF com 15MB é inconcebível na realidade da web que temos hoje. Tenta pôr online e aceder com uma ligação de 512kb e vais ver o tempo que vais demorar até conseguires visualizar o site.

    Cumps
     
    Última edição: 5 de Outubro de 2007
  7. Velshed

    Velshed Power Member

    Entao como explicas que sites como o youtube, cheio de videos, demore cerca de 3 segundos a abrir?
    De certeza absoluta que o tamanho e mt maior...
     
  8. michael c

    michael c Power Member


    Isso é fácil de explicar...repara em duas coisas. Os videos do youtube não estão realmente no site do youtube, ou seja, o ficheiro que o utilizador vê, a grosso modo o HTML, não tem os videos na página propriamente dita...eles estão indexados numa Base de Dados que tem uma ligação para o video que está armazenado numa determinada pasta do servidor.

    Isto faz com que quando alguem acede ao site do youtube ele abra rapidamente porque os videos não estão realmente lá, o que lá está é um "atalho" para uma determinada pasta do servidor. Os videos que aparecem não estão no inicio descarregados...ou seja, o que tu vês é um snapshot do inicio do video, mas só quando carregas play é que ele começa a ser descarregado do servidor. De facto, existem videos no youtube que têm mais de 15MB, existem de certeza alguns que até terão mais de 50 e 70 MB, contudo não te esqueças de uma coisa...tu começas a visualizar o video muito antes de ele estar completamente descarregado, coisa que já não acontece quando se trata de um SWF que apenas inicia quando está completamente descarregado do servidor. Ou seja, enquanto que um video de 50MB é descarregado em modo streaming em que à medida que é descarregado é de imediato visualizado em tempo real, um SWF terá de descarregar por completo para ser visualizado, e é aí que reside a grande diferença.

    Num video nunca esperarás mais de 20seg para que inicie porque, por exemplo, num ficheiro de 20MB apenas terás de esperar que seja feito o download de 1MB para que ele começe a ser reproduzido, sendo depois o download dos restantes 19MB feito à medida que vais visualizando. Num SWF de 15MB já terás de esperar mesmo que a totalidade dos 15MB seja descarregada, algo que vai demorar ainda bastante tempo.

    O Youtube tem provavelmente milhares de GB's de videos contudo esses milhares de GB's estão divididos em quiçá milhões de videos pequenos que são chamados para dentro do HTML e que vão sendo descarregados aos poucos à medida que o utilizador vai visualizando o video.

    No futuro deves pensar em fazer o mesmo...dividir o conteúdo do teu site por muitos pedaços pequenos. Posso dar-te um exemplo simples, há uns tempos fiz um site me flash que no total tem mais de 80MB. Ora se eu mete-se tudo num unico swf de certeza que nenhum utilizador iria ter paciência para estar à espera que todo o site fosse descarregado. Numa ligação de 512Kb iria ter de esperar mais de 25 minutos. Contudo posso dizer-te que o swf maior do site tem cerca de 200Kbs. Está tudo dividido em parcelas pequenas que são carregadas à medida que o utilizador navega pelo site.

    Pensa assim, se tens um site de uma empresa em que tens 4 àreas: Quem Somos, Serviços, Localização e Contactos, porque deve o utilizador esperar que todo o site seja descarregado se ele apenas quer visualizar, por exemplo, os serviços da empresa? Não será melhor dividir o site em 5 SWF's diferentes em que um é o principal e os outros correspondem às 4 diferentes àreas do site e são simplesmente carregados para dentro do SWF principal? Assim só será descarregado o conteúdo que o utilizador realmente quer ver, será poupado tempo de download e por conseguinte diminuido o tempo de espera do utilizador. Se pensares um pouco verás que esta será sem duvida uma boa prática quando realizas um site em flash.

    Cumprimentos
     
    Última edição: 5 de Outubro de 2007
  9. Velshed

    Velshed Power Member

    Obrigado bela explicação : )
    Mas eu não sei usar essa funçao de chamar um swf para dentro de outro.
    Alem disso tive a tirar algumas imagens que estavam la dentro e que nao eram necessarias e agr ja so tem 3MB. O que depois acontece e que ao carregar num link, ele abre uma pagina a parte com uma galeria de fotos com 5MB.
    Já tá melhor?
    Então e olha lá, se eu quiser que o site se torne mais rapido, não existem extras no alojamento para comprar?

    Cumps
     
  10. michael c

    michael c Power Member

    Não tens de quê. Com 3MB já está bem mais aceitável, mesmo assim não perdias nada em dividir isso em mais pedaços, mas de qualquer forma já está melhor. A nível de alojamentos não existem extras para tornar o site mais rápido, a velocidade de acesso depende essencialmente de como o site está feito.

    Para carregares SWF para dentro de outros SWF's é bastante fácil. Tenta fazer esta experiência:

    Vais criar em primeiro o ficheiro que vai ser importado para dentro do outro:

    1. Cria um novo ficheiro flash com uma resolução de 300x500
    2. Guarda esse ficheiro com o nome de "importar" na pasta que desejares
    3. Escreve ao centro do stage "Está a funcionar!"
    4. Guarda o fichero e publica de seguida (ctrl+enter)

    Agora vais criar o ficheiro que vai importar o outro ficheiro que acabaste de criar:

    5. Cria um novo ficheiro flash com uma resolução de 800x600
    6. Guarda o ficheiro na mesma pasta do ficheiro "importar" com o nome de "principal"
    7. Cria um rectangulo no centro do stage
    8. Dá duplo clique no rectangulo e em baixo dá-lhe um tamanho de 300x500 (tem de ter esta resolução para ser a mesma do ficheiro que vais importar)
    9. Dá novamente duplo clique no rectangulo e depois carrega F8, guarda como Movieclip, dá-lhe o nome de "vazio".
    10. Carrega em cima do rectangulo e no canto inferior esquerdo tens um campo que diz "instance name"...o nome que puseres nesse campo será utilizado no código actionscript para "manipulares" esse objecto. O nosso rectangulo, em termos de instance name, vai-se chamar "empty" para isso acontecer escreve "empty" no campo instance name.
    11. Ok, já temos tudo preparado, temos um ficheiro que vai ser importado e uma instancia, um movieclip vazio com um instance name de "empty", onde vai aparecer. Nesta altura só nos falta mesmo o mais importante: o actionscript que vai fazer funcionar tudo isto. Cria um novo layer por cima do layer onde está o rectangulo, carrega no keyframe desse novo layer que acabaste de criar e depois pressiona F9, no painel actions que aparece introduz o seguinte código: loadMovie("importar.swf" , empty);
    12. Guarda o ficheiro e publica
    13. Se não te tiveres enganado em nada, verás que no local onde estava o rectangulo aparece agora o conteudo do ficheiro importar.swf

    E pronto, basicamente é isto, foi um exemplo simples mas lembra-te que podes importar ficheiros swf's complexos. Espero ter ajudado, qualquer dúvida dispõe.

    Cumprimentos
     
  11. Velshed

    Velshed Power Member

    Olha eu tentei e não deu. É assim:
    Eu já tinha um rectangulo criado com o nome de todos. Esse rectangulo tem um fundo de uma determinada cor e um determinado tamanho. Acontece que eu dentro desse flash document que e o principal tinha posto nesse movie clip de nome todos, todos os textose outras coisas que iam aparecer quando eu clicava em alguns botoes. Tipo em cada frame tinh uma coisa tas a perceber? para quando eu carregasse num botao pusesse a seguinte funçao: _root.todos.gotoAndStop (2) percebes? Só que nesse movie clip de nome todos onde eu fiz essas cenas com as frames, o rectangulo tem um tamanho menor ao que tem o rectangulo na pagina principal.
    Agr eu experimentei fazer isso que me dissest mas nao da. Dei ao flash document o nome de fila e dps no botao que queria pus a seguinte funçao: on (release) { loadMovie ("fila.swf", todos); }
    Tá certo? Mas não dá qual o erro?
    Será por causa do tamanho do rectangulo ser diferente? Acho que não porque como eu já te expliquei no inicio, na pagina principal que eu ja tinha feito o rectangulo tinha tamanhos diferentes...

    Espero que tenhas percebido e que me possas ajudar,
    Cumps...
     

Partilhar esta Página