Flash ActionScript 3 scaleY para abrir um envelope
Agora que programamos a aba do envelope em nosso FlashR Quando a animação aparecer totalmente aberta acima do envelope quando o botão de carimbo for clicado, precisamos refinar a animação para que a aba esteja abrindo lentamente. Faremos isso controlando duas propriedades do retalho. Lembre-se, o objeto newFlap é uma variável que faz referência ao clipe de filme FlapAni na Biblioteca. Usamos essa var para fazer a aba aparecer no palco.

Como uma rápida revisão, no último tutorial, programamos uma função chamada openFlap para adicionar um objeto newFlap à Lista de Exibição. Fizemos isso com o código addChild. Também definimos a posição inicial para as propriedades newFlap.x e newFlap.y. Isso colocou a parte inferior da aba na borda superior do envelope. Como mencionado anteriormente, seus valores para as posições x e y no palco podem variar, dependendo do tamanho e da localização do seu envelope.

A primeira coisa que precisamos fazer é tentar encontrar um valor newFlap.y que coloque a aba abaixo da borda superior do envelope e, portanto, fique fora de vista no início da animação. De fato, queremos que a ponta da aba triangular esteja logo abaixo da borda superior do envelope. Enquanto estiver experimentando, pode ser mais fácil mover a aba 100 pixels para a direita, configurando o newFlap.x para 300 (uma adição de 100). Isso tornará a aba parcialmente visível no lado direito do envelope. Depois de experimentar, descobri que um valor de newFlap.y de 200 era o que eu precisava. Esta é a nossa nova posição inicial para o retalho. Não se esqueça de colocar o valor newFlap.x de volta ao valor original antes de passar para a próxima etapa.

  1. Precisamos alterar o código existente no último tutorial para refletir nosso novo valor newFlap.y de 200. Teste seu filme após fazer essa alteração e você não deverá vê-la quando clicar no botão de carimbo.

    newFlap.y = 200;

    Para nossa animação, queremos que o retalho se mova lentamente para cima, acima do envelope. Ao mesmo tempo, precisaremos dimensionar o retalho aberto a partir de um valor inicial de zero. Começando com a escala definida como zero, podemos reduzir a escala da aba para abrir totalmente. O valor y moverá o retalho para cima, mas é o valor da escala que fará com que o retalho pareça abrir.

  2. A próxima alteração na função será a adição do código que definirá a escalaY para zero e achatará a aba.

    newFlap.scaleY = 0;

    Agora precisamos trabalhar na parte da animação que abrirá a aba. Existem várias maneiras de fazer isso com o ActionScript. Neste tutorial, usaremos um Event Listener anexado ao palco para executar uma segunda função que chamaremos de scaleFlap. Vamos colocar essa segunda função dentro da função openFlap.

  3. Sob o código scaleY, vamos adicionar o Event Listener ao palco. É isso que executará a função scaleFlap.

    stage.addEventListener (Event.ENTER_FRAME, scaleFlap);

  4. Em seguida, adicione a segunda função. Copie e cole esse código na função openFlap.

    função scaleFlap (event: Event): void
    {
    if (newFlap.scaleY> = 1)
    {stage.removeEventListener (Event.ENTER_FRAME, scaleFlap); }
    outro
    {newFlap.scaleY + =. 05;
    newFlap.y - = 2,9;}
    }


    Vamos examinar o código. A primeira instrução if verificará o valor de scaleY para ver se é maior ou igual a 1. O número 1 representa um valor de escala de 100%). Se a condição for verdadeira, removeremos o Event Listener e interromperemos a animação.

    Se a condição for falsa, continuaremos a animação aumentando o valor de scaleY em 0,05 e movendo o retalho para cima em 2,9 negativos. (No estágio Flash, movemos para cima diminuindo o valor numérico da posição Y.) Isso continuará com cada novo quadro até que a condição para a instrução if seja verdadeira.

    Novamente, esses valores numéricos podem ser diferentes para o seu filme devido ao tamanho do seu envelope e à localização do mesmo no palco. Aqui está a animação final.

Direitos autorais 2018 Adobe Systems Incorporated. Todos os direitos reservados. As capturas de tela do produto Adobe foram impressas com permissão da Adobe Systems Incorporated. Adobe, Photoshop, Álbum do Photoshop, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere Elements, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Fireworks, Contribute, Captivate, Flash Catalyst e Flash Paper é / são marcas comerciais registradas ou marcas comerciais da Adobe Systems Incorporated nos Estados Unidos e / ou em outros países.