Desenvolvimento - ActionScript

Flash: Frame ou Slides?

Saiba neste artigo o que é melhor na hora de fazer apresentações em Flash, usar frames ou Slides.

por Igor Costa



Frame ou Slides? Recebi um e-mail esses dias que foi até bom de certa forma, para explicar para todos que, creio eu, quando começam no Flash ou até mesmo quando já experientes, a dúvida paira no ar. "Fazer apresentações em slides no Flash, usa-se frames ou Slides?"

A resposta é simples: ambas são boas para fazer tais animações de slides, mas a Slide tem alguns recursos que são melhores, por exemplo, a classe Screens.

Vou tentar rapidamente explicar como você pode usar ambas as opções. Por exemplo hoje a tarde tive uma reunião de negócios para uma grande rede de ensino na cidade, onde utilizei o Flash frames para criar a apresentação, eis minha simples e fácil solução.

Usando Frames:

1. Crie 3 layers (camadas)
| ações
| conteúdo
| fundo

2. Nos frames que se seguem na camada de conteúdo crie vários keyframes ou quadro chaves, com cada etapa da sua apresentação.

3. No frame de ações no primeiro frame utilize esse código

// stop usado para parar o frame que está sendo apresentado
stop();
// o comando fscommand com a propriedade fullscreen, tem valores booleanos entre true e false.
fscommand(“fullscreen”,”true”);
// o commando fscommand com a propriedade allowscale redimenciona o tamanho do palco e 
// também do conteúdo que está apresentado, também com dois valores true ou false.
fscommand(“allowscale”,”true”);

4. Em cada frame da camada de ações que você for usar como sendo cada tela da sua animação utilize a ação stop(); Isso vai paralizar todas os frames, desabilitando o autoplay do flash player.

5. Crie 2 movieclips fora do palco e atribua instâncias para cada um sendo ‘anterior’ e ‘proximo’.

6. No mesmo frame 1 da camada de ações adicione o seguinte código

// para habilitar as setas do teclado ? e ? para passagem dos frames que correspondem a slides.

stop();
fscommand("fullscreen","true");
fscommand("allowscale","true");

var tocaTelas:Object = new Object();
tocaTelas.onKeyDown = function () {
	switch (Key.getCode()){
		case Key.RIGHT:
		trace("tecla direita pressionada!");
		_root.nextFrame();
		break;
		case Key.LEFT:
		trace("tecla esquerda pressionada!");
		_root.prevFrame();
		break;
		default:
		Key.ENTER;
		nextFrame();
	}
}
Key.addListener(tocaTelas);

Feito isso, acabou que você habilitou as teclas de setas direita e esquerda para funcionar ou ENTER, caso a pessoa que for passar os slides queira utilizar o ENTER ao invés da seta para direita.

Usando Slides Forms:

A arquitetura do Slide forms é totalmente diferenciada de frame por frame, existem telas que você pode trabalhar automaticamente sem precisar de escrever muitos códigos, mas enfim é um pouco mais útil pelo fato de suportar já algumas classes próprias da estrutura do documento.

Lógico que o formato de documento Slide, tem sua timeline, como no próprio formato nativo de documentos Flash, mas a grande diferença mesmo como falei acima é a questão de behaviors e de classes próprias. E também por questões que parecem ser mais fáceis de trabalhar, que já no formato de Slides, por exemplo, você tem que tomar alguns cuidados quando for exportar, por exemplo, em .exe, coisa que no formato original não precisa ter essa preocupação.

Antes que possa perguntar, já te respondo, é possível usar a timeline para criar efeitos mágicos como em uma apresentação no Flash normal? Sim totalmente válida a questão e pode SIM.

1. Crie um novo documento baseado em Slides.

2. Utilizando o menu lateral superior esquerdo, vá adicionando Slides à sua animação.

3. Quando tiver com toda sua apresentação feita, utilize alguns comportamentos utilizando o painel de Behaviors. Para acessar o painel de behaviors utilize o menu window > Development Panel > Behaviors ou pelo atalho Shift+F3.

4. Utilize as opções do menu do painel de behavior ( + ) screens, existem várias opções.

Lembre-se de agregar o valor ou o comportamento do Slide, clicando sobre ele, e não em algum objeto que esteja inserido no mesmo Slide, por exemplo nesse código:

on (keyDown) {

	  // Ir para próximo slide
      var screen = null;
      var target = this;
      while((screen == null) && (target != undefined) && (target != null))
      {
        if(target instanceof mx.screens.Screen)
        {
          screen = target;
        }
        else
        {
          target = target._parent;
        }
      }
      if(screen instanceof mx.screens.Slide)
      {
        screen.rootSlide.currentSlide.gotoNextSlide();
      }
}

O evento de mudar de Slide foi feito inserindo-se dentro do próprio slide.

Acho que é isso. Então para não distribuir conhecimento apenas para 1 pessoa, está ai meus dois simples exemplos para todos.

Lógico que se trata de alguma coisa que realmente facilita sua vida no dia-a-dia de trabalho, por exemplo, reuniões de negócios, pequenas apresentações internas para treinamentos rápidos, apresentações em data Show. Te ajuda e muito esses exemplos.

Alguma dúvida quanto aos exemplos, só comentar que analiso depois.

Igor Costa

Igor Costa - Igor Costa é consultor e desenvolvedor freelancer com 7 anos na plataforma Flash, escreve para o linha de código e revistas IT relacionadas, Igor é ex-membro Team da Macromedia para Flash. em seu site igorcosta.com, você encontra um pouco mais sobre o autor.
Atualmente presta consultoria e desenvolve em São Paulo Capital onde escolheu para morar.