ZECA BALA (45 pts)

RODRIGO AMARAL (56 pts)

SYDNEY GANHO (60 pts)

PEDRO CLAUDIO (50 pts)

EDUARDO WALMOTT (226 pts)

NILTON BICALHO (61 pts)

MANGOOST (80 pts)

DEMIS BUCCI (50 pts)

EDUARDO CARREGA (150 pts)

ZEBEDIAH (35 pts)

MAURO ROCHA TAVARES (40 pts)

RICARDO TAKAHASHI (180 pts)
Treinamento PontoFlash de Flash e ActionScript

Quero dar 2 loops em um Wav e só depois seguir em frente com a timeline.

Como faço para que quando coloque o mouse por cima de um botão apareça uma descrição?

Qual exatamente é o retorno de _ymouse e _xmouse?

Gostaria de saber se existem plugins para flash.

Porque meu texto não aparece dentro de uma máscara?

Função criada para código de contagem regressiva de data, para MX.

Preciso de um timer que faça variar o valor de um campo dinâmico.

É necessário criar um objeto para usar o prototype?

Como verificar a resolução do usuário e abrir um filme compatível?

Gostaria que vocês me dessem uma dica, quando usar e quando não usar o loading.

Quero fazer um preloader para um texto aberto com load variables.

É possível editar símbolos numa biblioteca comum a todos os arquivos?

Para arrastar um objeto ainda é melhor usar DragMovieclip com 'updateAfterEvent()'?

Quero clicar num botão, que está no primeiro exe para chamar o 2° .exe e que o primeiro finalize o segundo.
Context Menu - usando o botão direito do mouse

Máscara percorrendo um caminho.

Interação de Flash+Asp.

Menu dinâmico a partir de um xml.

Site da banda os Titãs - Avaliação de sites

Variáveis, uma visão geral.

Como fatiar um site modelo portal no Fireworks

Entendendo como funciona um preloader. Terceira parte.

Gradiente variável

Calendário dinâmico

Botões estilo Apple.com feito no PhotoShop

Labirinto - Plataforma de jogo em terceira pessoa em flash 5: 1° parte
Type sound

Tornado

Shared Object

Menu HitTest

Digitação (6kb) - Flash4

Drawpad

Preloader run

Lineas 3

Hit test

Flash Banner

Menu Tsunami

Movimento e zoom
HOME | TUTORIAIS
GetMySQLData para Flash5 (primeira parte)
por Helen Triolo

Primeira parte          Segunda parte

 

Conectividade em banco de dados - quem pode viver sem ela?

Logo que acabei de mudar, com sucesso, este site de um servidor NT (onde eu tinha um banco de dados Access e monstruosos problemas de instabilidade dos quais não quero nem falar) para um servidor Unix com um banco de dados MySQL, me pareceu uma boa oportunidade para passar algumas informações sobre como fazer com que o Flash e o PHP falem um com o outro para descarregar os conteúdos de um banco de dados de MySQL.

Especificamente, vamos ver como enviar dados do Flash para uma página PHP, o formato PHP para conseguir com que os dados requisitados voltem para o Flash, como checar quando a informação que queremos do banco de dados tenha sido retornada e como mostrá-los. A aplicação que criei é do tipo que checa o banco de dados conectado para verificar quem está visitando o site e o que estão procurando.

Aqui estão as interações específicas nesta aplicação:

1 - (no Flash) Obter uma data e um número do usuário, que irá especificar quantos registros retornar, para cada dia.
2 - (no Flash) Verificar que a data e o número estão ambos dentro de um limite determinado.
3 - (no Flash) Enviar a informação para a página php.
4 - (no PHP) Examine o banco de dados para achar o total vistas na página, visitantes, e páginas mais freqüentadas para uma determinada data.
5 - (no PHP) Retorne um sumário dessas informações ao Flash.
6 - (no Flash) Mostre a informação retornada.

Antes que nós escrevamos qualquer código para fazer essas coisas, temos que definir a estrutura do filme. Quantos quadros vamos precisar, e o que irá em cada quadro? As variáveis serão passadas da linha de tempo principal para a página PHP, ou através de um movieclip? Esta última questão é uma das que respondemos sempre com "movieclip", já que permite que somente as variáveis que definimos sejam enviadas (quando um GET ou POST é feito do Flash para um programa server-side, todas as variáveis na linha de tempo fazendo a operação serão enviadas). Se enviarmos da linha de tempo principal, um monte de variáveis estranhas será enviado desnecessariamente para a página PHP. Enviar via movieclip também significa que poderemos fazer uso de onClipEvent(data) para checar o dado retornado.

Nota: Você pode aprimorar esse tutorial usando o objeto LoadVars disponível a partir do FlashMX.

Definir a estrutura do filme

A linha de tempo para este filme é extremamente simples: um quadro para obter a saída (input) do usuário, outro quadro para mostrar os resultados retornados. O primeiro é rotulado "start" e o segundo "displaydata". O quadro "start" tem saída de campo de textos, um botão para iniciar a requisição, um campo de texto dinâmico para exibir o estado corrente, e um movieclip controlador para fazer o envio e recebimento de dados atuais (este clipe continua também dentro do quadro exibir). O quadro "displaydata" possui vários campos de texto dinâmicos para mostrar as informações sobre o arquivo fonte que são retornadas pelo php. Aqui estão os conteúdos desses quadros:

Quadro 1: "start"

Quadro 10: "displaydata"

Vamos iniciar as variáveis

Em quase todas aplicações Flash, existe a necessidade de iniciar algumas variáveis. Um bom lugar para fazer isto é nas ações de quadro do primeiro quadro, que são executadas antes de qualquer outra coisa no filme, antes mesmo do que as rotinas onClipEvent(load) nos movieclips no quadro 1. Nosso código de inicialização se parece com isso:

datavalues._visible = 0;
ldom = [31, 28, 31, 25, 31, 30, 31, 31, 30, 31, 31, 31];
// get current date values
datenow = new Date();
daynow = datenow.getDate();
monthnow = datenow.getMonth();
// monthnow = 0-11
yearnow = datenow.getFullYear();
lastmonth = (monthnow == 0 ? 11 : monthnow-1);
// set default choosedate values
// default to display yesterday's date

chooseday = (daynow == 1 ? ldom[lastmonth] : daynow-1);
// display last month if current date is 1st of month
choosemonth = (chooseday == daynow-1 ? monthnow+1 : lastmonth+1);
// display last year if current date is Jan 1
chooseyear = ((daynow == 1 && monthnow == 0) ? yearnow-1 : yearnow);
stop();

A primeira linha deste código esconde o movieclip "datavalues", que contém os campos de saída (output), de forma que este não será mostrado antes de que os dados estejam disponíveis. Colocamos os campos de texto dentro de um movieclip de forma que estejam disponíveis no primeiro quadro a ser preenchido pelo nosso clipe controlador, mas capaz de se fazer invisível ao usuário.

Criamos, também, algumas variáveis de datas que iremos necessitar para conferir a entrada do usuário. Configuramos a data padrão para a data do dia anterior e uma parada no quadro 1 para aguardar a entrada (input) do usuário.

Na próxima página, veremos os passos para obter aquela entrada e a enviarmos para uma página PHP.

Enviar para o PHP - Adicionar código para obter entrada do usuário, verificá-la e passá-la ao PHP

Já que temos uma ação "Stop" no quadro 1, nada acontecerá neste filme até que o usuário pressione o botão "Show Me" (presumivelmente depois de preencher a data e os campos de número, mas não utilizando os valores padrão lá). Assim, a primeira coisa que o botão deve fazer é verificar que a data e os números entrados estão dentro do limite. Então, já que decidimos enviar dados via movieclip, necessitamos ter certeza de que as variáveis que nós queremos enviar estão definidas neste movieclip.

Este é o código no botão "Show Me". Criamos o campo (mensagem de erro) de status em branco para começar, crie variáveis de data para fazer nossa comparação e então conferir os números que o usuário entrou. Caso seja encontrado um valor fora do limite, uma mensagem é exibida. Caso contrário, o movieclip controlador de datas (datacontroller) determina às variáveis que nós desejamos passar ao PHP, e sua bandeira de "pronto para enviar" (readySend) é configurada para verdadeiro.

on (release) {
   statusmsg = "";
   // check for date between 10/8/2001 and now
   userdate = new Date(chooseyear, choosemonth-1, chooseday);
   startdate = new Date(2001, 9, 7);
   if (!(userdate-startdate>0 && datenow-userdate>0)) {
      statusmsg = "Enter a date between 10/8/2001 and "+(monthnow+1)+"/"+daynow+"/"+yearnow;
   } else {
      // check for number of records chosen between 5 and 10
      if (!(thisnumber>=5 && thisnumber<=10)) {
         statusmsg = "Enter a number between 5 and 10";
      } else {
         datacontroller.thismonth = choosemonth;
         datacontroller.thisyear = chooseyear;
         datacontroller.thisday = chooseday;
         datacontroller.thisnumber = thisnumber;
         datacontroller.readySend = 1;
      }
   }
}


Agora vamos dar uma olhada no que o movieclip "datacontroller" está fazendo. Basicamente está sentado sem fazer nada, exceto a verificação da bandeira "pronto para enviar" para ver quando ela assinala verdade. Isto é feito através de um loop onClipEvent(enterFrame), claro. Este é o código que pusemos nas Ações do Objeto (Object Actions) de "datacontroller" na nossa primeira interação com este filme:

onClipEvent (load) {
   readySend = 0;
}
onClipEvent (enterFrame) {
   if (readySend) {
      readySend = 0;
      _root.statusmsg = "Getting data...";
      getURL("checkdata.php", "_self", "POST");
   }
}

Ele verifica pelo sinal "readySend" é verdadeiro (que foi configurado pelo botão Show Me), exibe uma mensagem de que ele vai obter os dados (porque isto não acontece instantaneamente e seu usuário pode gostar de saber o que está acontecendo) e então faz um "getURL" para uma página php. Por que uma getURL e não uma loadVariables? Porque queremos verificar e certificar-nos de que nossas variáveis estão sendo enviadas corretamente antes de continuar o desenvolvimento. Daí, chamamos o checkdata.php utilizando o método POST e especificando que a página php deve abrir na mesma janela corrente em que o nosso filme Flash está rodando. Isto é o que o checkdata.php se parece:

<?php
$day = $HTTP_POST_VARS['thisday'];
$number = $HTTP_POST_VARS['thisnumber'];
$month = $HTTP_POST_VARS['thismonth'];
$year = $HTTP_POST_VARS['thisyear'];

echo "date read in: ".$month." ".$day." ".$year."<br>";
echo "number read in: ".$number;
?>

E a saída na janela do navegador deve se parecer com alguma coisa como:

data introduzida: 10 10 2001
número introduzido: 7

A próxima página olha para o que o php faz com a data e como ele é retornado ao Flash.

Tradução Sérgio Ramalho



Devido à reformulação implementada no site, pode ser que você encontre alguns links quebrados. Por favor, ajude-nos a corrigir eventuais problemas nos informando links quebrados
0 comentário