criando aplicativos multimídia com director 7 - tambein engloba versoes 5, 6 e 6.5
Post on 02-Jul-2015
186 Views
Preview:
TRANSCRIPT
Uma coletacircnea de informaccedilotildeesindispensaacuteveis e dicas quentes sobre osoftware de autoria em multimiacutediamais utilizado no mundo
Fabriacutecio Guedes Bissoli Juacutelio Francisco Planella Gonzalez httpwwwphasisnet jfpgez-poacombr
Niacutevel
Baacutesico Intermed
Director is a trademark of Macromedia Inc
V 10
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 1
PREFAacuteCIO
Esta obra foi desenvolvida com o objetivo de oferecerapoio agravequeles que estatildeo iniciando suas atividades no setor dedesenvolvimento de multimiacutedia A ferramenta de autoriautilizada eacute o software da Macromedia Director 7 Como aproduccedilatildeo de multimiacutedia natildeo eacute restrita somente a um uacutenicosoftware eventualmente outros nomes de softwares seratildeocitados a niacutevel complementar (editores de imagens sons viacutedeoetc)
A versatildeo do Director abordada eacute a 70 para Windowslogo alguma diferenccedila entre as imagens da interface capturadase a interface da versatildeo para Macintosh pode ser observada(apesar de pouco significativa) mas o conteuacutedo referente agraveprogramaccedilatildeo Lingo (linguagem utilizada pelo Director) eacute quaseidecircntico em ambas plataformas
O material apresentado foi desenvolvido agrave partir dacompilaccedilatildeo de perguntas frequentes (FAQs) em foacuteruns e listasde discussatildeo referentes ao tema proposto uma extensabibliografia e principalmente da experiecircncia dos autoresTentou-se apresentar certas questotildees que natildeo satildeo abordadasdiretamente em livros eou manuais existentes ateacute entatildeo Oobjetivo deste trabalho natildeo foi apresentar um manual deDirector eou Lingo mas oferecer base para os iniciantes paraum iniacutecio sem traumas e dicas importantes mesmo para aquelesde niacutevel intermediaacuterio
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 2
O livro se inicia com uma introduccedilatildeo geneacuterica agravemultimiacutedia comentando natildeo diretamente sobre o referidosoftware mas sobre a estrutura geral necessaacuteria agrave produccedilatildeo demultimiacutedia Hardware e software necessaacuterios dicas sobre viacutedeoe aacuteudio digitais e outros assuntos uacuteteis ao iniciante satildeoabordados no chamado ldquocapiacutetulo zerordquo Em seguida nocapiacutetulo 1 encontra-se uma descriccedilatildeo da estrutura defuncionamento do Director sua interface e como ele interpretaeventos com um dinamismo particular Satildeo abordados casossimples de animaccedilatildeo que natildeo necessitam praticamente decoacutedigos de programaccedilatildeo Lingo no decorrer do capiacutetulo 2Multimiacutedia acessada via browsers em Intranets ou Internet eacutesuscintamente abordada no capiacutetulo 3 sendo que os assuntostratados no mesmo satildeo Shockwave e Java No capiacutetulo 4 inicia-se a programaccedilatildeo com Lingo a linguagem proacutepria do DirectorEsse capiacutetulo eacute bastante extenso devido a alta complexidade doassunto natildeo que Lingo seja uma linguagem difiacutecil mas simpelo seu potencial Obviamente o assunto programaccedilatildeo Lingonatildeo eacute completamente abordado nesse material todaviaprocurou-se abordar alguns dos comandos mais usados eposteriormente citar-se exemplos praacuteticos nos anexos Nocapiacutetulo 5 satildeo apresentados agumas estruturas de linguagempreacute-fabricadas presentes no Director 7 O restante do materialvisa trazer a praticidade abordada atraveacutes de exemplos bastanteuacuteteis e usuais
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 3
Multimiacutedia na Internet eacute a grande tendecircncia e como oDirector oferece recursos interessantes para a Web essestoacutepicos satildeo tambeacutem comentados trata-se da tecnologiaShockwave e Java incorporadas jaacute haacute algum tempo nos pacotesdo Director Multimedia Studio Em seguida vem o Lingo apoderosa linguagem de programaccedilatildeo multimiacutedia daMacromedia que alia relativa simplicidade a impressionantesresultados O Lingo eacute abordado de forma superficial pois eacuteimpossiacutevel tratar de um assunto tatildeo extenso em tatildeo poucoespaccedilo Alguns comandos mais utilizados satildeo apresentados ealgumas aplicaccedilotildees praacuteticas satildeo mostradas posteriormente
Natildeo eacute pretensatildeo deste material substituir bons livrosexistentes no mercado mas com certeza o conteuacutedo aquiapresentado eacute indispensaacutevel a qualquer iniciante e mesmoaqueles de niacutevel intermediaacuterio poderatildeo encontrar novosconhecimentos entre as diversas dicas praacuteticas aquiapresentadas
Esperamos atender agraves expectativas do leitor
Direitos de uso do Arquivo Para a Versatildeo Trial Eacute liberado o uso livremente do conteuacutedo deste arquivo poistrata-se de uma versatildeo reduzida do livroPara a Versatildeo Completa do Livro Eacute expressamente proibido que o conteuacutedo aqui apresentado sejacedido a terceiros sem a devida permissatildeo dos autores Eacutepermitida a impressatildeo deste material de modo a oferecer maiorcomodidade na leitura para o leitor licenciado mas o mesmomaterial impresso obedece agraves mesmas normas de direitosautorais de seu formato digital
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 4
Iacutendice (para o Livro Completo)
Introduccedilatildeo 7
Capiacutetulo zero - O que eacute necessaacuterio para se criar um cd-rom 9
Capiacutetulo 1 - A estrutura 20
Capiacutetulo 2 - Animaccedilatildeo baacutesica 41
Capiacutetulo 3 - Shockwave e Java 49
Capiacutetulo 4 - Lingo 59
Capiacutetulo 5 - Behaviors preacute-definidos 103
Anexo 1 - Preparando um cd para distribuiccedilatildeo 123
Anexo 2 - Alteraccedilotildees no Lingo do Director 7 127
Anexo 3 - Listas 129
Anexo 4 - Programaccedilatildeo orientada a objetos amp parent scripts 137
Anexo 5 - Definiccedilotildees baacutesicas 143
Anexo 6 - Strings - conceitos fundamentais 146
Complemento - Lingo dicas uacuteteis 149
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 5
Introduccedilatildeo
O software de autoria Macromedia Director 7disponibiliza uma enorme gama de controles necessaacuterios para acriaccedilatildeo de aplicativos que podem variar de simplesapresentaccedilotildees a complexos games programas interativos(inclusive acessados via browser) e aplicativos Multiusuaacuteriosvia Internet
Apesar de ser o mais poderoso software de autoria emmultimiacutedia existente eventualmente pode-se fazer necessaacuterio ouso de recursos adicionais do mesmo Isso pode ser resolvidogeralmente adquirindo-se ldquoXtrasrdquo (complementos) de outrosdesenvolvedores e que divulgam seus produtos pela InternetAlguns Xtras satildeo gratuitos (freeware) outros solicitam umadoaccedilatildeo a instituiccedilotildees (donationware) e outros comercializadosEacute importante observar que a necessidade de adquirir-se umXtra externo dependeraacute do objetivo do software proposto osXtras expandem as possibilidades do Director de formailimitada A Macromedia oferece todas as informaccedilotildeesnecessaacuterias sobre a arquitetura para o desenvolvimento deXtras (MOA - Arquitetura aberta da Macromedia) de forma queos interessados possam desenvolver seus proacuteprios Xtras emC++
Neste material seratildeo mostrados os recursos mais usadosdo Director 7 de forma a possibilitar o desenvolvimento desoftwares de consideraacutevel complexidade Seratildeo mostradasteacutecnicas de animaccedilotildees e controle de interatividade atraveacutes deexemplos praacuteticos Ao final deste curso vocecirc estaraacute apto adesenvolver seu proacuteprio software utilizando natildeo somente oscomandos aqui abordados pois o objetivo principal do mesmoeacute capacitar aos iniciantes a possibilidade de um auto-desenvolvimento a niacutevel avanccedilado seja consultando o Help doDirector atraveacutes de manuais eou livros e listas de discussatildeo naInternet
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 6
Principais Codecs
Radius Cinepak Codec Apesar de a compressatildeo com este codec ser mais lenta
a descompressatildeo ocorre bem mais rapidamente o que tornaesse codec um dos mais indicados como compressor de Viacutedeofor Windows trabalhando muito bem na criaccedilatildeo de tiacutetulos emCD-ROM Trabalha melhor em 24 bits
Intel Indeo 32 Tambeacutem funciona melhor em 24 bits e eacute o mais versaacutetil
codec sendo tambeacutem muito recomendado para obras em CD-ROM Apesar de muito semelhante ao Cinepak quanto agrave taxade compressatildeo e qualidade parece que exige um pouco mais dacapacidade do processador durante a descompressatildeo
Microsoft Video 1 Suporta 8 16 ou 32 bits de cor A uacutenica vantagem deste
codec eacute a rapidez durante a compressatildeo
Microsoft RLE Foi criado originalmente para o uso em animaccedilotildees natildeo
sendo recomendaacutevel seu uso com imagens capturadas a partirde cacircmeras de viacutedeo Uma animaccedilatildeo 2D com cor soacutelida podetrabalhar bem com este codec lembrando que este suportaapenas 8 bits de cor
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 7
Restriccedilotildees de uso do padratildeo MPeg
Necessidade de software ou hardware especiacuteficos Opadratildeo MPeg eacute uma forma compactada de viacutedeo digital porisso consegue exibir viacutedeos de excelente qualidade (e aacuteudio hi-fi) mesmo com uma baixa taxa de transferecircncia do CD-ROMporeacutem torna-se necessaacuterio uma descompactaccedilatildeo em real-time para que os quadros sejam exibidos convenientementeAlgumas placas de viacutedeo jaacute possuem esse descompactadorincorporado existem tambeacutem placas descompressoras MPegvendidas separadamente existem ainda softwares que fazemesta descompactaccedilatildeo utilizando a capacidade de processamentodo processador principal do micro (e natildeo da placa de viacutedeo)mas em qualquer desses casos um gasto adicional se faznecessaacuterio seja em hardware ou em software
Obs O Padratildeo MPeg 2 eacute o mesmo utilizado em DVDs
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 8
A Estrutura
A seguir seratildeo abordados os conceitos baacutesicosfundamentais necessaacuterios para se entender o mecanismo doDirector e apoacutes essa teoria seraacute abordada a programaccedilatildeoem Lingo simultaneamente a exemplos praacuteticos Essesfundamentos satildeo realmente indispensaacuteveis e natildeo haacute comoseguir adiante na programaccedilatildeo sem que se entendaperfeitamente sua estrutura Lembre-se de que o motivo doDirector ser a ferramenta adotada por 75 dosdesenvolvedores de multimiacutedia no mundo natildeo deve-sesomente agrave sua incontestaacutevel superioridade de recursos mastambeacutem agrave interface que trata de uma forma inovadora aprogramaccedilatildeo multimiacutedia
O Director usa metaacuteforas do meio teatral comoldquoStagerdquo (Palco) (onde satildeo mostradas as apresentaccedilotildees)ldquoCastrdquo (Elenco) onde eacute armazenado o elenco (castMembersou membros do elenco) e ldquoScorerdquo (onde estatildeo contidas asinstruccedilotildees que organizam o elenco) Behavior(comportamento) geralmente conteacutem funccedilotildees de Lingo queao ser aplicado a uma sprite fazem com que ela tenha umcomportamento proacuteprio Tudo isso e muito mais seraacuteapresentado com detalhes mais adiante
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 9
O score estaacute dividido em quadros para facilitar ocontrole de tempo e layer de cada objeto usado no projeto Seobservarmos os quadros na horizontal estaremos observandoos frames Um frame eacute como um quadro de um filme exibidodurante determinado periacuteodo de tempo O default desse tempoeacute 115 do segundo ou seja em 1 segundo satildeo exibidos 15quadros Esse valor eacute aproximadamente a percepccedilatildeo retiniana euma animaccedilatildeo mostrada nessa velocidade geralmente eacutesuficiente para bons resultados No Director 7 essa velocidadepode ser aumentada ateacute 1000 fps (frames por segundo) poreacutemo desempenho real dependeraacute de uma maacutequina (usuaacuterio final)que tenha capacidade de mostrar uma animaccedilatildeo nessavelocidade Atenccedilatildeo a isso
Observando-se esses mesmos quadros na verticalverifica-se o layer ou como eacute chamado no Director o channel(canal) de cada objeto Se um cast member (membro do elenco)for solto sobre o canal 1 e um outro estiver ocupando o canal 2o objeto no canal de niacutevel superior apareceraacute sobre oantecessor Esses objetos satildeo chamados de Sprites noldquolinguajar macromedianordquo Sprites satildeo membros do elenco emcena ou seja o que o usuaacuterio final observaraacute
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 10
1 - Como funciona o Director
Como o proacuteprio nome sugere vocecirc eacute o ldquodiretorrdquo de umfilme Nesse filme estatildeo os membros do elenco (Cast members)e vocecirc comanda o espetaacuteculo dizendo para cada membro o queele deve fazer Soacute para entender a diferenccedila entre ele e seuconcorrente mais proacuteximo (o ToolBook) basta lembrar queneste vocecirc associa eventos a objetos e cada objeto estaacuteassociado a outros No Director eacute diferente o filme vaicorrendo o script (coacutedigo contendo comandos da linguagemLingo) referente a cada objeto (Esse ldquoobjetordquo no Directorchama-se sprite e refere-se ao Cast member em accedilatildeo conformecitado anteriormente) comanda a interatividade e tudo maisde forma que o filme quase nunca para na realidade Essa visatildeodinacircmica ajuda em muito a estrutura de um projeto que envolvasobretudo animaccedilotildees
Com a figura a seguir pode-se entender melhor osdiversos componentes de um filme do Director O programaexecutaacutevel (compilado) que o Director gera eacute chamado deprojector Pode-se criar projetores de 16 bits (funciona emWindows 3x e Windows 9xNT) e 32 bits (apenas Windows9xNT) mas natildeo eacute recomendaacutevel criar-se projetores 16 bitspara serem executados em sistemas 32 bits Com a mesmafacilidade com que se cria um projetor de 16 ou 32 bits pode-se criar um projetor para Machintosh bastando para talcompilar o programa fonte em um Mac com o respectivoDirector
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 11
Cast members e sprites
Cast members satildeo os componentes do filme mesmoque eles natildeo estejam em cena Quando importamos algumobjeto para dentro de um filme do Director ele torna-se umCast member Tambeacutem quando definimos um script para umobjeto ele torna-se um cast member Os cast members satildeoorganizados e exibidos em casts conforme a figura abaixo
Exemplos de miacutedias Imagens (BMP JPG GIF)Animaccedilotildees (FLI FLC e Film Loop) Viacutedeos (MOV AVI eMPEG) e aacuteudio (WAV AIF SWA AU e MP3)
Cast member
Sprite no stage
sprite no score
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 12
Sprites satildeo objetos em cena Quando se arrasta um castmember para dentro do stage ele torna-se um sprite Eacuteimportante observar que um cast member pode existir sem queexista na forma de sprite mas a reciacuteproca natildeo eacute verdadeira
Importante O mesmo cast member pode originar diversos sprites
sendo cada um com suas propriedades de tamanho posiccedilatildeo nostage opacidade tinta etc
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 13
Os canais do score
Como representado na figura abaixo existem algunscanais para controlar sprites no score O primeiro eacute relativo aotempo o seguinte agraves palletes de cor o outro agraves transiccedilotildees deframes Tem-se ainda o controle individual dos 2 canais deaacuteudio e o script de cada frame executado cada vez que aexecuccedilatildeo do filme chega neste
O canal Tempo controla efeitosde tempo e cue points de aacuteudio
O canal Palete eacute importantequando se trabalha com 256 cores
ou menos
O canal Transiccedilatildeo define efeitosde mudanccedila entre frames
Canais de som no score (maioresdetalhes seratildeo vistos adiantes)
Frame script - define o script Lingoque seraacute executado quando o movie
estiver sobre aquele frame
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 14
Com a tabela abaixo pode-se referenciar vaacuterios tipos de miacutediasatraveacutes da visualizaccedilatildeo dos indicativos das mesmas
Cast Member Descriccedilatildeo da Miacutedia1 Bitmap2 Pallete de cor3 Efeito da Intel4 Fonte5 Cursor6 Gif animada7 Vector shape8 Flash movie9 Botatildeo10 Field11 Text12 Movie script13 Parent script14 Behavior15 Viacutedeo digital AVI16 Aacuteudio interno17 Aacuteudio linkado18 SWA
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 15
3 - Trabalhando com Sprites
Neste capiacutetulo inicia-se a parte da organizaccedilatildeo domaterial Na verdade uma animaccedilatildeo eacute tatildeo somente a definiccedilatildeode instruccedilotildees para cada elemento componente do filme e umcomplexo aplicativo de multimiacutedia eacute apenas a integraccedilatildeo devaacuterias miacutedias
A princiacutepio um sprite precisa ser devidamenteorganizado em um lugar do score Deveraacute tambeacutem estarassociado a ele (eventualmente) um coacutedigo de instruccedilotildees essecoacutedigo que na verdade eacute uma linguagem proacutepria do Directorchama-se Lingo Veremos que algumas animaccedilotildees podem serfeitas sem que seja necessaacuterio escrever-se uma uacutenica linha decoacutedigo
Criando sprites
Quando um cast member eacute arrastado e solto sobre umcanal do score eacute criado um sprite com duraccedilatildeo de 28 frames(isso eacute o default mas pode ser modificado para o nuacutemerodesejado) ou entatildeo caso o mesmo jaacute exista pode-se arrastar abarra em uma das extremidades colocando-a do tamanho emFrames que se desejar
Arraste e solte aextremedidade posterior dosprite para definir ateacute em
que frame ele estaraacutepresente
ou defina os nuacutemeros dosframes iniciais e finais
diretamente na respectivacaixa de texto
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 1
PREFAacuteCIO
Esta obra foi desenvolvida com o objetivo de oferecerapoio agravequeles que estatildeo iniciando suas atividades no setor dedesenvolvimento de multimiacutedia A ferramenta de autoriautilizada eacute o software da Macromedia Director 7 Como aproduccedilatildeo de multimiacutedia natildeo eacute restrita somente a um uacutenicosoftware eventualmente outros nomes de softwares seratildeocitados a niacutevel complementar (editores de imagens sons viacutedeoetc)
A versatildeo do Director abordada eacute a 70 para Windowslogo alguma diferenccedila entre as imagens da interface capturadase a interface da versatildeo para Macintosh pode ser observada(apesar de pouco significativa) mas o conteuacutedo referente agraveprogramaccedilatildeo Lingo (linguagem utilizada pelo Director) eacute quaseidecircntico em ambas plataformas
O material apresentado foi desenvolvido agrave partir dacompilaccedilatildeo de perguntas frequentes (FAQs) em foacuteruns e listasde discussatildeo referentes ao tema proposto uma extensabibliografia e principalmente da experiecircncia dos autoresTentou-se apresentar certas questotildees que natildeo satildeo abordadasdiretamente em livros eou manuais existentes ateacute entatildeo Oobjetivo deste trabalho natildeo foi apresentar um manual deDirector eou Lingo mas oferecer base para os iniciantes paraum iniacutecio sem traumas e dicas importantes mesmo para aquelesde niacutevel intermediaacuterio
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 2
O livro se inicia com uma introduccedilatildeo geneacuterica agravemultimiacutedia comentando natildeo diretamente sobre o referidosoftware mas sobre a estrutura geral necessaacuteria agrave produccedilatildeo demultimiacutedia Hardware e software necessaacuterios dicas sobre viacutedeoe aacuteudio digitais e outros assuntos uacuteteis ao iniciante satildeoabordados no chamado ldquocapiacutetulo zerordquo Em seguida nocapiacutetulo 1 encontra-se uma descriccedilatildeo da estrutura defuncionamento do Director sua interface e como ele interpretaeventos com um dinamismo particular Satildeo abordados casossimples de animaccedilatildeo que natildeo necessitam praticamente decoacutedigos de programaccedilatildeo Lingo no decorrer do capiacutetulo 2Multimiacutedia acessada via browsers em Intranets ou Internet eacutesuscintamente abordada no capiacutetulo 3 sendo que os assuntostratados no mesmo satildeo Shockwave e Java No capiacutetulo 4 inicia-se a programaccedilatildeo com Lingo a linguagem proacutepria do DirectorEsse capiacutetulo eacute bastante extenso devido a alta complexidade doassunto natildeo que Lingo seja uma linguagem difiacutecil mas simpelo seu potencial Obviamente o assunto programaccedilatildeo Lingonatildeo eacute completamente abordado nesse material todaviaprocurou-se abordar alguns dos comandos mais usados eposteriormente citar-se exemplos praacuteticos nos anexos Nocapiacutetulo 5 satildeo apresentados agumas estruturas de linguagempreacute-fabricadas presentes no Director 7 O restante do materialvisa trazer a praticidade abordada atraveacutes de exemplos bastanteuacuteteis e usuais
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 3
Multimiacutedia na Internet eacute a grande tendecircncia e como oDirector oferece recursos interessantes para a Web essestoacutepicos satildeo tambeacutem comentados trata-se da tecnologiaShockwave e Java incorporadas jaacute haacute algum tempo nos pacotesdo Director Multimedia Studio Em seguida vem o Lingo apoderosa linguagem de programaccedilatildeo multimiacutedia daMacromedia que alia relativa simplicidade a impressionantesresultados O Lingo eacute abordado de forma superficial pois eacuteimpossiacutevel tratar de um assunto tatildeo extenso em tatildeo poucoespaccedilo Alguns comandos mais utilizados satildeo apresentados ealgumas aplicaccedilotildees praacuteticas satildeo mostradas posteriormente
Natildeo eacute pretensatildeo deste material substituir bons livrosexistentes no mercado mas com certeza o conteuacutedo aquiapresentado eacute indispensaacutevel a qualquer iniciante e mesmoaqueles de niacutevel intermediaacuterio poderatildeo encontrar novosconhecimentos entre as diversas dicas praacuteticas aquiapresentadas
Esperamos atender agraves expectativas do leitor
Direitos de uso do Arquivo Para a Versatildeo Trial Eacute liberado o uso livremente do conteuacutedo deste arquivo poistrata-se de uma versatildeo reduzida do livroPara a Versatildeo Completa do Livro Eacute expressamente proibido que o conteuacutedo aqui apresentado sejacedido a terceiros sem a devida permissatildeo dos autores Eacutepermitida a impressatildeo deste material de modo a oferecer maiorcomodidade na leitura para o leitor licenciado mas o mesmomaterial impresso obedece agraves mesmas normas de direitosautorais de seu formato digital
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 4
Iacutendice (para o Livro Completo)
Introduccedilatildeo 7
Capiacutetulo zero - O que eacute necessaacuterio para se criar um cd-rom 9
Capiacutetulo 1 - A estrutura 20
Capiacutetulo 2 - Animaccedilatildeo baacutesica 41
Capiacutetulo 3 - Shockwave e Java 49
Capiacutetulo 4 - Lingo 59
Capiacutetulo 5 - Behaviors preacute-definidos 103
Anexo 1 - Preparando um cd para distribuiccedilatildeo 123
Anexo 2 - Alteraccedilotildees no Lingo do Director 7 127
Anexo 3 - Listas 129
Anexo 4 - Programaccedilatildeo orientada a objetos amp parent scripts 137
Anexo 5 - Definiccedilotildees baacutesicas 143
Anexo 6 - Strings - conceitos fundamentais 146
Complemento - Lingo dicas uacuteteis 149
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 5
Introduccedilatildeo
O software de autoria Macromedia Director 7disponibiliza uma enorme gama de controles necessaacuterios para acriaccedilatildeo de aplicativos que podem variar de simplesapresentaccedilotildees a complexos games programas interativos(inclusive acessados via browser) e aplicativos Multiusuaacuteriosvia Internet
Apesar de ser o mais poderoso software de autoria emmultimiacutedia existente eventualmente pode-se fazer necessaacuterio ouso de recursos adicionais do mesmo Isso pode ser resolvidogeralmente adquirindo-se ldquoXtrasrdquo (complementos) de outrosdesenvolvedores e que divulgam seus produtos pela InternetAlguns Xtras satildeo gratuitos (freeware) outros solicitam umadoaccedilatildeo a instituiccedilotildees (donationware) e outros comercializadosEacute importante observar que a necessidade de adquirir-se umXtra externo dependeraacute do objetivo do software proposto osXtras expandem as possibilidades do Director de formailimitada A Macromedia oferece todas as informaccedilotildeesnecessaacuterias sobre a arquitetura para o desenvolvimento deXtras (MOA - Arquitetura aberta da Macromedia) de forma queos interessados possam desenvolver seus proacuteprios Xtras emC++
Neste material seratildeo mostrados os recursos mais usadosdo Director 7 de forma a possibilitar o desenvolvimento desoftwares de consideraacutevel complexidade Seratildeo mostradasteacutecnicas de animaccedilotildees e controle de interatividade atraveacutes deexemplos praacuteticos Ao final deste curso vocecirc estaraacute apto adesenvolver seu proacuteprio software utilizando natildeo somente oscomandos aqui abordados pois o objetivo principal do mesmoeacute capacitar aos iniciantes a possibilidade de um auto-desenvolvimento a niacutevel avanccedilado seja consultando o Help doDirector atraveacutes de manuais eou livros e listas de discussatildeo naInternet
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 6
Principais Codecs
Radius Cinepak Codec Apesar de a compressatildeo com este codec ser mais lenta
a descompressatildeo ocorre bem mais rapidamente o que tornaesse codec um dos mais indicados como compressor de Viacutedeofor Windows trabalhando muito bem na criaccedilatildeo de tiacutetulos emCD-ROM Trabalha melhor em 24 bits
Intel Indeo 32 Tambeacutem funciona melhor em 24 bits e eacute o mais versaacutetil
codec sendo tambeacutem muito recomendado para obras em CD-ROM Apesar de muito semelhante ao Cinepak quanto agrave taxade compressatildeo e qualidade parece que exige um pouco mais dacapacidade do processador durante a descompressatildeo
Microsoft Video 1 Suporta 8 16 ou 32 bits de cor A uacutenica vantagem deste
codec eacute a rapidez durante a compressatildeo
Microsoft RLE Foi criado originalmente para o uso em animaccedilotildees natildeo
sendo recomendaacutevel seu uso com imagens capturadas a partirde cacircmeras de viacutedeo Uma animaccedilatildeo 2D com cor soacutelida podetrabalhar bem com este codec lembrando que este suportaapenas 8 bits de cor
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 7
Restriccedilotildees de uso do padratildeo MPeg
Necessidade de software ou hardware especiacuteficos Opadratildeo MPeg eacute uma forma compactada de viacutedeo digital porisso consegue exibir viacutedeos de excelente qualidade (e aacuteudio hi-fi) mesmo com uma baixa taxa de transferecircncia do CD-ROMporeacutem torna-se necessaacuterio uma descompactaccedilatildeo em real-time para que os quadros sejam exibidos convenientementeAlgumas placas de viacutedeo jaacute possuem esse descompactadorincorporado existem tambeacutem placas descompressoras MPegvendidas separadamente existem ainda softwares que fazemesta descompactaccedilatildeo utilizando a capacidade de processamentodo processador principal do micro (e natildeo da placa de viacutedeo)mas em qualquer desses casos um gasto adicional se faznecessaacuterio seja em hardware ou em software
Obs O Padratildeo MPeg 2 eacute o mesmo utilizado em DVDs
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 8
A Estrutura
A seguir seratildeo abordados os conceitos baacutesicosfundamentais necessaacuterios para se entender o mecanismo doDirector e apoacutes essa teoria seraacute abordada a programaccedilatildeoem Lingo simultaneamente a exemplos praacuteticos Essesfundamentos satildeo realmente indispensaacuteveis e natildeo haacute comoseguir adiante na programaccedilatildeo sem que se entendaperfeitamente sua estrutura Lembre-se de que o motivo doDirector ser a ferramenta adotada por 75 dosdesenvolvedores de multimiacutedia no mundo natildeo deve-sesomente agrave sua incontestaacutevel superioridade de recursos mastambeacutem agrave interface que trata de uma forma inovadora aprogramaccedilatildeo multimiacutedia
O Director usa metaacuteforas do meio teatral comoldquoStagerdquo (Palco) (onde satildeo mostradas as apresentaccedilotildees)ldquoCastrdquo (Elenco) onde eacute armazenado o elenco (castMembersou membros do elenco) e ldquoScorerdquo (onde estatildeo contidas asinstruccedilotildees que organizam o elenco) Behavior(comportamento) geralmente conteacutem funccedilotildees de Lingo queao ser aplicado a uma sprite fazem com que ela tenha umcomportamento proacuteprio Tudo isso e muito mais seraacuteapresentado com detalhes mais adiante
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 9
O score estaacute dividido em quadros para facilitar ocontrole de tempo e layer de cada objeto usado no projeto Seobservarmos os quadros na horizontal estaremos observandoos frames Um frame eacute como um quadro de um filme exibidodurante determinado periacuteodo de tempo O default desse tempoeacute 115 do segundo ou seja em 1 segundo satildeo exibidos 15quadros Esse valor eacute aproximadamente a percepccedilatildeo retiniana euma animaccedilatildeo mostrada nessa velocidade geralmente eacutesuficiente para bons resultados No Director 7 essa velocidadepode ser aumentada ateacute 1000 fps (frames por segundo) poreacutemo desempenho real dependeraacute de uma maacutequina (usuaacuterio final)que tenha capacidade de mostrar uma animaccedilatildeo nessavelocidade Atenccedilatildeo a isso
Observando-se esses mesmos quadros na verticalverifica-se o layer ou como eacute chamado no Director o channel(canal) de cada objeto Se um cast member (membro do elenco)for solto sobre o canal 1 e um outro estiver ocupando o canal 2o objeto no canal de niacutevel superior apareceraacute sobre oantecessor Esses objetos satildeo chamados de Sprites noldquolinguajar macromedianordquo Sprites satildeo membros do elenco emcena ou seja o que o usuaacuterio final observaraacute
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 10
1 - Como funciona o Director
Como o proacuteprio nome sugere vocecirc eacute o ldquodiretorrdquo de umfilme Nesse filme estatildeo os membros do elenco (Cast members)e vocecirc comanda o espetaacuteculo dizendo para cada membro o queele deve fazer Soacute para entender a diferenccedila entre ele e seuconcorrente mais proacuteximo (o ToolBook) basta lembrar queneste vocecirc associa eventos a objetos e cada objeto estaacuteassociado a outros No Director eacute diferente o filme vaicorrendo o script (coacutedigo contendo comandos da linguagemLingo) referente a cada objeto (Esse ldquoobjetordquo no Directorchama-se sprite e refere-se ao Cast member em accedilatildeo conformecitado anteriormente) comanda a interatividade e tudo maisde forma que o filme quase nunca para na realidade Essa visatildeodinacircmica ajuda em muito a estrutura de um projeto que envolvasobretudo animaccedilotildees
Com a figura a seguir pode-se entender melhor osdiversos componentes de um filme do Director O programaexecutaacutevel (compilado) que o Director gera eacute chamado deprojector Pode-se criar projetores de 16 bits (funciona emWindows 3x e Windows 9xNT) e 32 bits (apenas Windows9xNT) mas natildeo eacute recomendaacutevel criar-se projetores 16 bitspara serem executados em sistemas 32 bits Com a mesmafacilidade com que se cria um projetor de 16 ou 32 bits pode-se criar um projetor para Machintosh bastando para talcompilar o programa fonte em um Mac com o respectivoDirector
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 11
Cast members e sprites
Cast members satildeo os componentes do filme mesmoque eles natildeo estejam em cena Quando importamos algumobjeto para dentro de um filme do Director ele torna-se umCast member Tambeacutem quando definimos um script para umobjeto ele torna-se um cast member Os cast members satildeoorganizados e exibidos em casts conforme a figura abaixo
Exemplos de miacutedias Imagens (BMP JPG GIF)Animaccedilotildees (FLI FLC e Film Loop) Viacutedeos (MOV AVI eMPEG) e aacuteudio (WAV AIF SWA AU e MP3)
Cast member
Sprite no stage
sprite no score
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 12
Sprites satildeo objetos em cena Quando se arrasta um castmember para dentro do stage ele torna-se um sprite Eacuteimportante observar que um cast member pode existir sem queexista na forma de sprite mas a reciacuteproca natildeo eacute verdadeira
Importante O mesmo cast member pode originar diversos sprites
sendo cada um com suas propriedades de tamanho posiccedilatildeo nostage opacidade tinta etc
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 13
Os canais do score
Como representado na figura abaixo existem algunscanais para controlar sprites no score O primeiro eacute relativo aotempo o seguinte agraves palletes de cor o outro agraves transiccedilotildees deframes Tem-se ainda o controle individual dos 2 canais deaacuteudio e o script de cada frame executado cada vez que aexecuccedilatildeo do filme chega neste
O canal Tempo controla efeitosde tempo e cue points de aacuteudio
O canal Palete eacute importantequando se trabalha com 256 cores
ou menos
O canal Transiccedilatildeo define efeitosde mudanccedila entre frames
Canais de som no score (maioresdetalhes seratildeo vistos adiantes)
Frame script - define o script Lingoque seraacute executado quando o movie
estiver sobre aquele frame
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 14
Com a tabela abaixo pode-se referenciar vaacuterios tipos de miacutediasatraveacutes da visualizaccedilatildeo dos indicativos das mesmas
Cast Member Descriccedilatildeo da Miacutedia1 Bitmap2 Pallete de cor3 Efeito da Intel4 Fonte5 Cursor6 Gif animada7 Vector shape8 Flash movie9 Botatildeo10 Field11 Text12 Movie script13 Parent script14 Behavior15 Viacutedeo digital AVI16 Aacuteudio interno17 Aacuteudio linkado18 SWA
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 15
3 - Trabalhando com Sprites
Neste capiacutetulo inicia-se a parte da organizaccedilatildeo domaterial Na verdade uma animaccedilatildeo eacute tatildeo somente a definiccedilatildeode instruccedilotildees para cada elemento componente do filme e umcomplexo aplicativo de multimiacutedia eacute apenas a integraccedilatildeo devaacuterias miacutedias
A princiacutepio um sprite precisa ser devidamenteorganizado em um lugar do score Deveraacute tambeacutem estarassociado a ele (eventualmente) um coacutedigo de instruccedilotildees essecoacutedigo que na verdade eacute uma linguagem proacutepria do Directorchama-se Lingo Veremos que algumas animaccedilotildees podem serfeitas sem que seja necessaacuterio escrever-se uma uacutenica linha decoacutedigo
Criando sprites
Quando um cast member eacute arrastado e solto sobre umcanal do score eacute criado um sprite com duraccedilatildeo de 28 frames(isso eacute o default mas pode ser modificado para o nuacutemerodesejado) ou entatildeo caso o mesmo jaacute exista pode-se arrastar abarra em uma das extremidades colocando-a do tamanho emFrames que se desejar
Arraste e solte aextremedidade posterior dosprite para definir ateacute em
que frame ele estaraacutepresente
ou defina os nuacutemeros dosframes iniciais e finais
diretamente na respectivacaixa de texto
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 2
O livro se inicia com uma introduccedilatildeo geneacuterica agravemultimiacutedia comentando natildeo diretamente sobre o referidosoftware mas sobre a estrutura geral necessaacuteria agrave produccedilatildeo demultimiacutedia Hardware e software necessaacuterios dicas sobre viacutedeoe aacuteudio digitais e outros assuntos uacuteteis ao iniciante satildeoabordados no chamado ldquocapiacutetulo zerordquo Em seguida nocapiacutetulo 1 encontra-se uma descriccedilatildeo da estrutura defuncionamento do Director sua interface e como ele interpretaeventos com um dinamismo particular Satildeo abordados casossimples de animaccedilatildeo que natildeo necessitam praticamente decoacutedigos de programaccedilatildeo Lingo no decorrer do capiacutetulo 2Multimiacutedia acessada via browsers em Intranets ou Internet eacutesuscintamente abordada no capiacutetulo 3 sendo que os assuntostratados no mesmo satildeo Shockwave e Java No capiacutetulo 4 inicia-se a programaccedilatildeo com Lingo a linguagem proacutepria do DirectorEsse capiacutetulo eacute bastante extenso devido a alta complexidade doassunto natildeo que Lingo seja uma linguagem difiacutecil mas simpelo seu potencial Obviamente o assunto programaccedilatildeo Lingonatildeo eacute completamente abordado nesse material todaviaprocurou-se abordar alguns dos comandos mais usados eposteriormente citar-se exemplos praacuteticos nos anexos Nocapiacutetulo 5 satildeo apresentados agumas estruturas de linguagempreacute-fabricadas presentes no Director 7 O restante do materialvisa trazer a praticidade abordada atraveacutes de exemplos bastanteuacuteteis e usuais
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 3
Multimiacutedia na Internet eacute a grande tendecircncia e como oDirector oferece recursos interessantes para a Web essestoacutepicos satildeo tambeacutem comentados trata-se da tecnologiaShockwave e Java incorporadas jaacute haacute algum tempo nos pacotesdo Director Multimedia Studio Em seguida vem o Lingo apoderosa linguagem de programaccedilatildeo multimiacutedia daMacromedia que alia relativa simplicidade a impressionantesresultados O Lingo eacute abordado de forma superficial pois eacuteimpossiacutevel tratar de um assunto tatildeo extenso em tatildeo poucoespaccedilo Alguns comandos mais utilizados satildeo apresentados ealgumas aplicaccedilotildees praacuteticas satildeo mostradas posteriormente
Natildeo eacute pretensatildeo deste material substituir bons livrosexistentes no mercado mas com certeza o conteuacutedo aquiapresentado eacute indispensaacutevel a qualquer iniciante e mesmoaqueles de niacutevel intermediaacuterio poderatildeo encontrar novosconhecimentos entre as diversas dicas praacuteticas aquiapresentadas
Esperamos atender agraves expectativas do leitor
Direitos de uso do Arquivo Para a Versatildeo Trial Eacute liberado o uso livremente do conteuacutedo deste arquivo poistrata-se de uma versatildeo reduzida do livroPara a Versatildeo Completa do Livro Eacute expressamente proibido que o conteuacutedo aqui apresentado sejacedido a terceiros sem a devida permissatildeo dos autores Eacutepermitida a impressatildeo deste material de modo a oferecer maiorcomodidade na leitura para o leitor licenciado mas o mesmomaterial impresso obedece agraves mesmas normas de direitosautorais de seu formato digital
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 4
Iacutendice (para o Livro Completo)
Introduccedilatildeo 7
Capiacutetulo zero - O que eacute necessaacuterio para se criar um cd-rom 9
Capiacutetulo 1 - A estrutura 20
Capiacutetulo 2 - Animaccedilatildeo baacutesica 41
Capiacutetulo 3 - Shockwave e Java 49
Capiacutetulo 4 - Lingo 59
Capiacutetulo 5 - Behaviors preacute-definidos 103
Anexo 1 - Preparando um cd para distribuiccedilatildeo 123
Anexo 2 - Alteraccedilotildees no Lingo do Director 7 127
Anexo 3 - Listas 129
Anexo 4 - Programaccedilatildeo orientada a objetos amp parent scripts 137
Anexo 5 - Definiccedilotildees baacutesicas 143
Anexo 6 - Strings - conceitos fundamentais 146
Complemento - Lingo dicas uacuteteis 149
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 5
Introduccedilatildeo
O software de autoria Macromedia Director 7disponibiliza uma enorme gama de controles necessaacuterios para acriaccedilatildeo de aplicativos que podem variar de simplesapresentaccedilotildees a complexos games programas interativos(inclusive acessados via browser) e aplicativos Multiusuaacuteriosvia Internet
Apesar de ser o mais poderoso software de autoria emmultimiacutedia existente eventualmente pode-se fazer necessaacuterio ouso de recursos adicionais do mesmo Isso pode ser resolvidogeralmente adquirindo-se ldquoXtrasrdquo (complementos) de outrosdesenvolvedores e que divulgam seus produtos pela InternetAlguns Xtras satildeo gratuitos (freeware) outros solicitam umadoaccedilatildeo a instituiccedilotildees (donationware) e outros comercializadosEacute importante observar que a necessidade de adquirir-se umXtra externo dependeraacute do objetivo do software proposto osXtras expandem as possibilidades do Director de formailimitada A Macromedia oferece todas as informaccedilotildeesnecessaacuterias sobre a arquitetura para o desenvolvimento deXtras (MOA - Arquitetura aberta da Macromedia) de forma queos interessados possam desenvolver seus proacuteprios Xtras emC++
Neste material seratildeo mostrados os recursos mais usadosdo Director 7 de forma a possibilitar o desenvolvimento desoftwares de consideraacutevel complexidade Seratildeo mostradasteacutecnicas de animaccedilotildees e controle de interatividade atraveacutes deexemplos praacuteticos Ao final deste curso vocecirc estaraacute apto adesenvolver seu proacuteprio software utilizando natildeo somente oscomandos aqui abordados pois o objetivo principal do mesmoeacute capacitar aos iniciantes a possibilidade de um auto-desenvolvimento a niacutevel avanccedilado seja consultando o Help doDirector atraveacutes de manuais eou livros e listas de discussatildeo naInternet
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 6
Principais Codecs
Radius Cinepak Codec Apesar de a compressatildeo com este codec ser mais lenta
a descompressatildeo ocorre bem mais rapidamente o que tornaesse codec um dos mais indicados como compressor de Viacutedeofor Windows trabalhando muito bem na criaccedilatildeo de tiacutetulos emCD-ROM Trabalha melhor em 24 bits
Intel Indeo 32 Tambeacutem funciona melhor em 24 bits e eacute o mais versaacutetil
codec sendo tambeacutem muito recomendado para obras em CD-ROM Apesar de muito semelhante ao Cinepak quanto agrave taxade compressatildeo e qualidade parece que exige um pouco mais dacapacidade do processador durante a descompressatildeo
Microsoft Video 1 Suporta 8 16 ou 32 bits de cor A uacutenica vantagem deste
codec eacute a rapidez durante a compressatildeo
Microsoft RLE Foi criado originalmente para o uso em animaccedilotildees natildeo
sendo recomendaacutevel seu uso com imagens capturadas a partirde cacircmeras de viacutedeo Uma animaccedilatildeo 2D com cor soacutelida podetrabalhar bem com este codec lembrando que este suportaapenas 8 bits de cor
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 7
Restriccedilotildees de uso do padratildeo MPeg
Necessidade de software ou hardware especiacuteficos Opadratildeo MPeg eacute uma forma compactada de viacutedeo digital porisso consegue exibir viacutedeos de excelente qualidade (e aacuteudio hi-fi) mesmo com uma baixa taxa de transferecircncia do CD-ROMporeacutem torna-se necessaacuterio uma descompactaccedilatildeo em real-time para que os quadros sejam exibidos convenientementeAlgumas placas de viacutedeo jaacute possuem esse descompactadorincorporado existem tambeacutem placas descompressoras MPegvendidas separadamente existem ainda softwares que fazemesta descompactaccedilatildeo utilizando a capacidade de processamentodo processador principal do micro (e natildeo da placa de viacutedeo)mas em qualquer desses casos um gasto adicional se faznecessaacuterio seja em hardware ou em software
Obs O Padratildeo MPeg 2 eacute o mesmo utilizado em DVDs
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 8
A Estrutura
A seguir seratildeo abordados os conceitos baacutesicosfundamentais necessaacuterios para se entender o mecanismo doDirector e apoacutes essa teoria seraacute abordada a programaccedilatildeoem Lingo simultaneamente a exemplos praacuteticos Essesfundamentos satildeo realmente indispensaacuteveis e natildeo haacute comoseguir adiante na programaccedilatildeo sem que se entendaperfeitamente sua estrutura Lembre-se de que o motivo doDirector ser a ferramenta adotada por 75 dosdesenvolvedores de multimiacutedia no mundo natildeo deve-sesomente agrave sua incontestaacutevel superioridade de recursos mastambeacutem agrave interface que trata de uma forma inovadora aprogramaccedilatildeo multimiacutedia
O Director usa metaacuteforas do meio teatral comoldquoStagerdquo (Palco) (onde satildeo mostradas as apresentaccedilotildees)ldquoCastrdquo (Elenco) onde eacute armazenado o elenco (castMembersou membros do elenco) e ldquoScorerdquo (onde estatildeo contidas asinstruccedilotildees que organizam o elenco) Behavior(comportamento) geralmente conteacutem funccedilotildees de Lingo queao ser aplicado a uma sprite fazem com que ela tenha umcomportamento proacuteprio Tudo isso e muito mais seraacuteapresentado com detalhes mais adiante
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 9
O score estaacute dividido em quadros para facilitar ocontrole de tempo e layer de cada objeto usado no projeto Seobservarmos os quadros na horizontal estaremos observandoos frames Um frame eacute como um quadro de um filme exibidodurante determinado periacuteodo de tempo O default desse tempoeacute 115 do segundo ou seja em 1 segundo satildeo exibidos 15quadros Esse valor eacute aproximadamente a percepccedilatildeo retiniana euma animaccedilatildeo mostrada nessa velocidade geralmente eacutesuficiente para bons resultados No Director 7 essa velocidadepode ser aumentada ateacute 1000 fps (frames por segundo) poreacutemo desempenho real dependeraacute de uma maacutequina (usuaacuterio final)que tenha capacidade de mostrar uma animaccedilatildeo nessavelocidade Atenccedilatildeo a isso
Observando-se esses mesmos quadros na verticalverifica-se o layer ou como eacute chamado no Director o channel(canal) de cada objeto Se um cast member (membro do elenco)for solto sobre o canal 1 e um outro estiver ocupando o canal 2o objeto no canal de niacutevel superior apareceraacute sobre oantecessor Esses objetos satildeo chamados de Sprites noldquolinguajar macromedianordquo Sprites satildeo membros do elenco emcena ou seja o que o usuaacuterio final observaraacute
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 10
1 - Como funciona o Director
Como o proacuteprio nome sugere vocecirc eacute o ldquodiretorrdquo de umfilme Nesse filme estatildeo os membros do elenco (Cast members)e vocecirc comanda o espetaacuteculo dizendo para cada membro o queele deve fazer Soacute para entender a diferenccedila entre ele e seuconcorrente mais proacuteximo (o ToolBook) basta lembrar queneste vocecirc associa eventos a objetos e cada objeto estaacuteassociado a outros No Director eacute diferente o filme vaicorrendo o script (coacutedigo contendo comandos da linguagemLingo) referente a cada objeto (Esse ldquoobjetordquo no Directorchama-se sprite e refere-se ao Cast member em accedilatildeo conformecitado anteriormente) comanda a interatividade e tudo maisde forma que o filme quase nunca para na realidade Essa visatildeodinacircmica ajuda em muito a estrutura de um projeto que envolvasobretudo animaccedilotildees
Com a figura a seguir pode-se entender melhor osdiversos componentes de um filme do Director O programaexecutaacutevel (compilado) que o Director gera eacute chamado deprojector Pode-se criar projetores de 16 bits (funciona emWindows 3x e Windows 9xNT) e 32 bits (apenas Windows9xNT) mas natildeo eacute recomendaacutevel criar-se projetores 16 bitspara serem executados em sistemas 32 bits Com a mesmafacilidade com que se cria um projetor de 16 ou 32 bits pode-se criar um projetor para Machintosh bastando para talcompilar o programa fonte em um Mac com o respectivoDirector
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 11
Cast members e sprites
Cast members satildeo os componentes do filme mesmoque eles natildeo estejam em cena Quando importamos algumobjeto para dentro de um filme do Director ele torna-se umCast member Tambeacutem quando definimos um script para umobjeto ele torna-se um cast member Os cast members satildeoorganizados e exibidos em casts conforme a figura abaixo
Exemplos de miacutedias Imagens (BMP JPG GIF)Animaccedilotildees (FLI FLC e Film Loop) Viacutedeos (MOV AVI eMPEG) e aacuteudio (WAV AIF SWA AU e MP3)
Cast member
Sprite no stage
sprite no score
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 12
Sprites satildeo objetos em cena Quando se arrasta um castmember para dentro do stage ele torna-se um sprite Eacuteimportante observar que um cast member pode existir sem queexista na forma de sprite mas a reciacuteproca natildeo eacute verdadeira
Importante O mesmo cast member pode originar diversos sprites
sendo cada um com suas propriedades de tamanho posiccedilatildeo nostage opacidade tinta etc
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 13
Os canais do score
Como representado na figura abaixo existem algunscanais para controlar sprites no score O primeiro eacute relativo aotempo o seguinte agraves palletes de cor o outro agraves transiccedilotildees deframes Tem-se ainda o controle individual dos 2 canais deaacuteudio e o script de cada frame executado cada vez que aexecuccedilatildeo do filme chega neste
O canal Tempo controla efeitosde tempo e cue points de aacuteudio
O canal Palete eacute importantequando se trabalha com 256 cores
ou menos
O canal Transiccedilatildeo define efeitosde mudanccedila entre frames
Canais de som no score (maioresdetalhes seratildeo vistos adiantes)
Frame script - define o script Lingoque seraacute executado quando o movie
estiver sobre aquele frame
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 14
Com a tabela abaixo pode-se referenciar vaacuterios tipos de miacutediasatraveacutes da visualizaccedilatildeo dos indicativos das mesmas
Cast Member Descriccedilatildeo da Miacutedia1 Bitmap2 Pallete de cor3 Efeito da Intel4 Fonte5 Cursor6 Gif animada7 Vector shape8 Flash movie9 Botatildeo10 Field11 Text12 Movie script13 Parent script14 Behavior15 Viacutedeo digital AVI16 Aacuteudio interno17 Aacuteudio linkado18 SWA
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 15
3 - Trabalhando com Sprites
Neste capiacutetulo inicia-se a parte da organizaccedilatildeo domaterial Na verdade uma animaccedilatildeo eacute tatildeo somente a definiccedilatildeode instruccedilotildees para cada elemento componente do filme e umcomplexo aplicativo de multimiacutedia eacute apenas a integraccedilatildeo devaacuterias miacutedias
A princiacutepio um sprite precisa ser devidamenteorganizado em um lugar do score Deveraacute tambeacutem estarassociado a ele (eventualmente) um coacutedigo de instruccedilotildees essecoacutedigo que na verdade eacute uma linguagem proacutepria do Directorchama-se Lingo Veremos que algumas animaccedilotildees podem serfeitas sem que seja necessaacuterio escrever-se uma uacutenica linha decoacutedigo
Criando sprites
Quando um cast member eacute arrastado e solto sobre umcanal do score eacute criado um sprite com duraccedilatildeo de 28 frames(isso eacute o default mas pode ser modificado para o nuacutemerodesejado) ou entatildeo caso o mesmo jaacute exista pode-se arrastar abarra em uma das extremidades colocando-a do tamanho emFrames que se desejar
Arraste e solte aextremedidade posterior dosprite para definir ateacute em
que frame ele estaraacutepresente
ou defina os nuacutemeros dosframes iniciais e finais
diretamente na respectivacaixa de texto
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 3
Multimiacutedia na Internet eacute a grande tendecircncia e como oDirector oferece recursos interessantes para a Web essestoacutepicos satildeo tambeacutem comentados trata-se da tecnologiaShockwave e Java incorporadas jaacute haacute algum tempo nos pacotesdo Director Multimedia Studio Em seguida vem o Lingo apoderosa linguagem de programaccedilatildeo multimiacutedia daMacromedia que alia relativa simplicidade a impressionantesresultados O Lingo eacute abordado de forma superficial pois eacuteimpossiacutevel tratar de um assunto tatildeo extenso em tatildeo poucoespaccedilo Alguns comandos mais utilizados satildeo apresentados ealgumas aplicaccedilotildees praacuteticas satildeo mostradas posteriormente
Natildeo eacute pretensatildeo deste material substituir bons livrosexistentes no mercado mas com certeza o conteuacutedo aquiapresentado eacute indispensaacutevel a qualquer iniciante e mesmoaqueles de niacutevel intermediaacuterio poderatildeo encontrar novosconhecimentos entre as diversas dicas praacuteticas aquiapresentadas
Esperamos atender agraves expectativas do leitor
Direitos de uso do Arquivo Para a Versatildeo Trial Eacute liberado o uso livremente do conteuacutedo deste arquivo poistrata-se de uma versatildeo reduzida do livroPara a Versatildeo Completa do Livro Eacute expressamente proibido que o conteuacutedo aqui apresentado sejacedido a terceiros sem a devida permissatildeo dos autores Eacutepermitida a impressatildeo deste material de modo a oferecer maiorcomodidade na leitura para o leitor licenciado mas o mesmomaterial impresso obedece agraves mesmas normas de direitosautorais de seu formato digital
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 4
Iacutendice (para o Livro Completo)
Introduccedilatildeo 7
Capiacutetulo zero - O que eacute necessaacuterio para se criar um cd-rom 9
Capiacutetulo 1 - A estrutura 20
Capiacutetulo 2 - Animaccedilatildeo baacutesica 41
Capiacutetulo 3 - Shockwave e Java 49
Capiacutetulo 4 - Lingo 59
Capiacutetulo 5 - Behaviors preacute-definidos 103
Anexo 1 - Preparando um cd para distribuiccedilatildeo 123
Anexo 2 - Alteraccedilotildees no Lingo do Director 7 127
Anexo 3 - Listas 129
Anexo 4 - Programaccedilatildeo orientada a objetos amp parent scripts 137
Anexo 5 - Definiccedilotildees baacutesicas 143
Anexo 6 - Strings - conceitos fundamentais 146
Complemento - Lingo dicas uacuteteis 149
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 5
Introduccedilatildeo
O software de autoria Macromedia Director 7disponibiliza uma enorme gama de controles necessaacuterios para acriaccedilatildeo de aplicativos que podem variar de simplesapresentaccedilotildees a complexos games programas interativos(inclusive acessados via browser) e aplicativos Multiusuaacuteriosvia Internet
Apesar de ser o mais poderoso software de autoria emmultimiacutedia existente eventualmente pode-se fazer necessaacuterio ouso de recursos adicionais do mesmo Isso pode ser resolvidogeralmente adquirindo-se ldquoXtrasrdquo (complementos) de outrosdesenvolvedores e que divulgam seus produtos pela InternetAlguns Xtras satildeo gratuitos (freeware) outros solicitam umadoaccedilatildeo a instituiccedilotildees (donationware) e outros comercializadosEacute importante observar que a necessidade de adquirir-se umXtra externo dependeraacute do objetivo do software proposto osXtras expandem as possibilidades do Director de formailimitada A Macromedia oferece todas as informaccedilotildeesnecessaacuterias sobre a arquitetura para o desenvolvimento deXtras (MOA - Arquitetura aberta da Macromedia) de forma queos interessados possam desenvolver seus proacuteprios Xtras emC++
Neste material seratildeo mostrados os recursos mais usadosdo Director 7 de forma a possibilitar o desenvolvimento desoftwares de consideraacutevel complexidade Seratildeo mostradasteacutecnicas de animaccedilotildees e controle de interatividade atraveacutes deexemplos praacuteticos Ao final deste curso vocecirc estaraacute apto adesenvolver seu proacuteprio software utilizando natildeo somente oscomandos aqui abordados pois o objetivo principal do mesmoeacute capacitar aos iniciantes a possibilidade de um auto-desenvolvimento a niacutevel avanccedilado seja consultando o Help doDirector atraveacutes de manuais eou livros e listas de discussatildeo naInternet
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 6
Principais Codecs
Radius Cinepak Codec Apesar de a compressatildeo com este codec ser mais lenta
a descompressatildeo ocorre bem mais rapidamente o que tornaesse codec um dos mais indicados como compressor de Viacutedeofor Windows trabalhando muito bem na criaccedilatildeo de tiacutetulos emCD-ROM Trabalha melhor em 24 bits
Intel Indeo 32 Tambeacutem funciona melhor em 24 bits e eacute o mais versaacutetil
codec sendo tambeacutem muito recomendado para obras em CD-ROM Apesar de muito semelhante ao Cinepak quanto agrave taxade compressatildeo e qualidade parece que exige um pouco mais dacapacidade do processador durante a descompressatildeo
Microsoft Video 1 Suporta 8 16 ou 32 bits de cor A uacutenica vantagem deste
codec eacute a rapidez durante a compressatildeo
Microsoft RLE Foi criado originalmente para o uso em animaccedilotildees natildeo
sendo recomendaacutevel seu uso com imagens capturadas a partirde cacircmeras de viacutedeo Uma animaccedilatildeo 2D com cor soacutelida podetrabalhar bem com este codec lembrando que este suportaapenas 8 bits de cor
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 7
Restriccedilotildees de uso do padratildeo MPeg
Necessidade de software ou hardware especiacuteficos Opadratildeo MPeg eacute uma forma compactada de viacutedeo digital porisso consegue exibir viacutedeos de excelente qualidade (e aacuteudio hi-fi) mesmo com uma baixa taxa de transferecircncia do CD-ROMporeacutem torna-se necessaacuterio uma descompactaccedilatildeo em real-time para que os quadros sejam exibidos convenientementeAlgumas placas de viacutedeo jaacute possuem esse descompactadorincorporado existem tambeacutem placas descompressoras MPegvendidas separadamente existem ainda softwares que fazemesta descompactaccedilatildeo utilizando a capacidade de processamentodo processador principal do micro (e natildeo da placa de viacutedeo)mas em qualquer desses casos um gasto adicional se faznecessaacuterio seja em hardware ou em software
Obs O Padratildeo MPeg 2 eacute o mesmo utilizado em DVDs
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 8
A Estrutura
A seguir seratildeo abordados os conceitos baacutesicosfundamentais necessaacuterios para se entender o mecanismo doDirector e apoacutes essa teoria seraacute abordada a programaccedilatildeoem Lingo simultaneamente a exemplos praacuteticos Essesfundamentos satildeo realmente indispensaacuteveis e natildeo haacute comoseguir adiante na programaccedilatildeo sem que se entendaperfeitamente sua estrutura Lembre-se de que o motivo doDirector ser a ferramenta adotada por 75 dosdesenvolvedores de multimiacutedia no mundo natildeo deve-sesomente agrave sua incontestaacutevel superioridade de recursos mastambeacutem agrave interface que trata de uma forma inovadora aprogramaccedilatildeo multimiacutedia
O Director usa metaacuteforas do meio teatral comoldquoStagerdquo (Palco) (onde satildeo mostradas as apresentaccedilotildees)ldquoCastrdquo (Elenco) onde eacute armazenado o elenco (castMembersou membros do elenco) e ldquoScorerdquo (onde estatildeo contidas asinstruccedilotildees que organizam o elenco) Behavior(comportamento) geralmente conteacutem funccedilotildees de Lingo queao ser aplicado a uma sprite fazem com que ela tenha umcomportamento proacuteprio Tudo isso e muito mais seraacuteapresentado com detalhes mais adiante
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 9
O score estaacute dividido em quadros para facilitar ocontrole de tempo e layer de cada objeto usado no projeto Seobservarmos os quadros na horizontal estaremos observandoos frames Um frame eacute como um quadro de um filme exibidodurante determinado periacuteodo de tempo O default desse tempoeacute 115 do segundo ou seja em 1 segundo satildeo exibidos 15quadros Esse valor eacute aproximadamente a percepccedilatildeo retiniana euma animaccedilatildeo mostrada nessa velocidade geralmente eacutesuficiente para bons resultados No Director 7 essa velocidadepode ser aumentada ateacute 1000 fps (frames por segundo) poreacutemo desempenho real dependeraacute de uma maacutequina (usuaacuterio final)que tenha capacidade de mostrar uma animaccedilatildeo nessavelocidade Atenccedilatildeo a isso
Observando-se esses mesmos quadros na verticalverifica-se o layer ou como eacute chamado no Director o channel(canal) de cada objeto Se um cast member (membro do elenco)for solto sobre o canal 1 e um outro estiver ocupando o canal 2o objeto no canal de niacutevel superior apareceraacute sobre oantecessor Esses objetos satildeo chamados de Sprites noldquolinguajar macromedianordquo Sprites satildeo membros do elenco emcena ou seja o que o usuaacuterio final observaraacute
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 10
1 - Como funciona o Director
Como o proacuteprio nome sugere vocecirc eacute o ldquodiretorrdquo de umfilme Nesse filme estatildeo os membros do elenco (Cast members)e vocecirc comanda o espetaacuteculo dizendo para cada membro o queele deve fazer Soacute para entender a diferenccedila entre ele e seuconcorrente mais proacuteximo (o ToolBook) basta lembrar queneste vocecirc associa eventos a objetos e cada objeto estaacuteassociado a outros No Director eacute diferente o filme vaicorrendo o script (coacutedigo contendo comandos da linguagemLingo) referente a cada objeto (Esse ldquoobjetordquo no Directorchama-se sprite e refere-se ao Cast member em accedilatildeo conformecitado anteriormente) comanda a interatividade e tudo maisde forma que o filme quase nunca para na realidade Essa visatildeodinacircmica ajuda em muito a estrutura de um projeto que envolvasobretudo animaccedilotildees
Com a figura a seguir pode-se entender melhor osdiversos componentes de um filme do Director O programaexecutaacutevel (compilado) que o Director gera eacute chamado deprojector Pode-se criar projetores de 16 bits (funciona emWindows 3x e Windows 9xNT) e 32 bits (apenas Windows9xNT) mas natildeo eacute recomendaacutevel criar-se projetores 16 bitspara serem executados em sistemas 32 bits Com a mesmafacilidade com que se cria um projetor de 16 ou 32 bits pode-se criar um projetor para Machintosh bastando para talcompilar o programa fonte em um Mac com o respectivoDirector
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 11
Cast members e sprites
Cast members satildeo os componentes do filme mesmoque eles natildeo estejam em cena Quando importamos algumobjeto para dentro de um filme do Director ele torna-se umCast member Tambeacutem quando definimos um script para umobjeto ele torna-se um cast member Os cast members satildeoorganizados e exibidos em casts conforme a figura abaixo
Exemplos de miacutedias Imagens (BMP JPG GIF)Animaccedilotildees (FLI FLC e Film Loop) Viacutedeos (MOV AVI eMPEG) e aacuteudio (WAV AIF SWA AU e MP3)
Cast member
Sprite no stage
sprite no score
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 12
Sprites satildeo objetos em cena Quando se arrasta um castmember para dentro do stage ele torna-se um sprite Eacuteimportante observar que um cast member pode existir sem queexista na forma de sprite mas a reciacuteproca natildeo eacute verdadeira
Importante O mesmo cast member pode originar diversos sprites
sendo cada um com suas propriedades de tamanho posiccedilatildeo nostage opacidade tinta etc
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 13
Os canais do score
Como representado na figura abaixo existem algunscanais para controlar sprites no score O primeiro eacute relativo aotempo o seguinte agraves palletes de cor o outro agraves transiccedilotildees deframes Tem-se ainda o controle individual dos 2 canais deaacuteudio e o script de cada frame executado cada vez que aexecuccedilatildeo do filme chega neste
O canal Tempo controla efeitosde tempo e cue points de aacuteudio
O canal Palete eacute importantequando se trabalha com 256 cores
ou menos
O canal Transiccedilatildeo define efeitosde mudanccedila entre frames
Canais de som no score (maioresdetalhes seratildeo vistos adiantes)
Frame script - define o script Lingoque seraacute executado quando o movie
estiver sobre aquele frame
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 14
Com a tabela abaixo pode-se referenciar vaacuterios tipos de miacutediasatraveacutes da visualizaccedilatildeo dos indicativos das mesmas
Cast Member Descriccedilatildeo da Miacutedia1 Bitmap2 Pallete de cor3 Efeito da Intel4 Fonte5 Cursor6 Gif animada7 Vector shape8 Flash movie9 Botatildeo10 Field11 Text12 Movie script13 Parent script14 Behavior15 Viacutedeo digital AVI16 Aacuteudio interno17 Aacuteudio linkado18 SWA
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 15
3 - Trabalhando com Sprites
Neste capiacutetulo inicia-se a parte da organizaccedilatildeo domaterial Na verdade uma animaccedilatildeo eacute tatildeo somente a definiccedilatildeode instruccedilotildees para cada elemento componente do filme e umcomplexo aplicativo de multimiacutedia eacute apenas a integraccedilatildeo devaacuterias miacutedias
A princiacutepio um sprite precisa ser devidamenteorganizado em um lugar do score Deveraacute tambeacutem estarassociado a ele (eventualmente) um coacutedigo de instruccedilotildees essecoacutedigo que na verdade eacute uma linguagem proacutepria do Directorchama-se Lingo Veremos que algumas animaccedilotildees podem serfeitas sem que seja necessaacuterio escrever-se uma uacutenica linha decoacutedigo
Criando sprites
Quando um cast member eacute arrastado e solto sobre umcanal do score eacute criado um sprite com duraccedilatildeo de 28 frames(isso eacute o default mas pode ser modificado para o nuacutemerodesejado) ou entatildeo caso o mesmo jaacute exista pode-se arrastar abarra em uma das extremidades colocando-a do tamanho emFrames que se desejar
Arraste e solte aextremedidade posterior dosprite para definir ateacute em
que frame ele estaraacutepresente
ou defina os nuacutemeros dosframes iniciais e finais
diretamente na respectivacaixa de texto
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 4
Iacutendice (para o Livro Completo)
Introduccedilatildeo 7
Capiacutetulo zero - O que eacute necessaacuterio para se criar um cd-rom 9
Capiacutetulo 1 - A estrutura 20
Capiacutetulo 2 - Animaccedilatildeo baacutesica 41
Capiacutetulo 3 - Shockwave e Java 49
Capiacutetulo 4 - Lingo 59
Capiacutetulo 5 - Behaviors preacute-definidos 103
Anexo 1 - Preparando um cd para distribuiccedilatildeo 123
Anexo 2 - Alteraccedilotildees no Lingo do Director 7 127
Anexo 3 - Listas 129
Anexo 4 - Programaccedilatildeo orientada a objetos amp parent scripts 137
Anexo 5 - Definiccedilotildees baacutesicas 143
Anexo 6 - Strings - conceitos fundamentais 146
Complemento - Lingo dicas uacuteteis 149
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 5
Introduccedilatildeo
O software de autoria Macromedia Director 7disponibiliza uma enorme gama de controles necessaacuterios para acriaccedilatildeo de aplicativos que podem variar de simplesapresentaccedilotildees a complexos games programas interativos(inclusive acessados via browser) e aplicativos Multiusuaacuteriosvia Internet
Apesar de ser o mais poderoso software de autoria emmultimiacutedia existente eventualmente pode-se fazer necessaacuterio ouso de recursos adicionais do mesmo Isso pode ser resolvidogeralmente adquirindo-se ldquoXtrasrdquo (complementos) de outrosdesenvolvedores e que divulgam seus produtos pela InternetAlguns Xtras satildeo gratuitos (freeware) outros solicitam umadoaccedilatildeo a instituiccedilotildees (donationware) e outros comercializadosEacute importante observar que a necessidade de adquirir-se umXtra externo dependeraacute do objetivo do software proposto osXtras expandem as possibilidades do Director de formailimitada A Macromedia oferece todas as informaccedilotildeesnecessaacuterias sobre a arquitetura para o desenvolvimento deXtras (MOA - Arquitetura aberta da Macromedia) de forma queos interessados possam desenvolver seus proacuteprios Xtras emC++
Neste material seratildeo mostrados os recursos mais usadosdo Director 7 de forma a possibilitar o desenvolvimento desoftwares de consideraacutevel complexidade Seratildeo mostradasteacutecnicas de animaccedilotildees e controle de interatividade atraveacutes deexemplos praacuteticos Ao final deste curso vocecirc estaraacute apto adesenvolver seu proacuteprio software utilizando natildeo somente oscomandos aqui abordados pois o objetivo principal do mesmoeacute capacitar aos iniciantes a possibilidade de um auto-desenvolvimento a niacutevel avanccedilado seja consultando o Help doDirector atraveacutes de manuais eou livros e listas de discussatildeo naInternet
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 6
Principais Codecs
Radius Cinepak Codec Apesar de a compressatildeo com este codec ser mais lenta
a descompressatildeo ocorre bem mais rapidamente o que tornaesse codec um dos mais indicados como compressor de Viacutedeofor Windows trabalhando muito bem na criaccedilatildeo de tiacutetulos emCD-ROM Trabalha melhor em 24 bits
Intel Indeo 32 Tambeacutem funciona melhor em 24 bits e eacute o mais versaacutetil
codec sendo tambeacutem muito recomendado para obras em CD-ROM Apesar de muito semelhante ao Cinepak quanto agrave taxade compressatildeo e qualidade parece que exige um pouco mais dacapacidade do processador durante a descompressatildeo
Microsoft Video 1 Suporta 8 16 ou 32 bits de cor A uacutenica vantagem deste
codec eacute a rapidez durante a compressatildeo
Microsoft RLE Foi criado originalmente para o uso em animaccedilotildees natildeo
sendo recomendaacutevel seu uso com imagens capturadas a partirde cacircmeras de viacutedeo Uma animaccedilatildeo 2D com cor soacutelida podetrabalhar bem com este codec lembrando que este suportaapenas 8 bits de cor
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 7
Restriccedilotildees de uso do padratildeo MPeg
Necessidade de software ou hardware especiacuteficos Opadratildeo MPeg eacute uma forma compactada de viacutedeo digital porisso consegue exibir viacutedeos de excelente qualidade (e aacuteudio hi-fi) mesmo com uma baixa taxa de transferecircncia do CD-ROMporeacutem torna-se necessaacuterio uma descompactaccedilatildeo em real-time para que os quadros sejam exibidos convenientementeAlgumas placas de viacutedeo jaacute possuem esse descompactadorincorporado existem tambeacutem placas descompressoras MPegvendidas separadamente existem ainda softwares que fazemesta descompactaccedilatildeo utilizando a capacidade de processamentodo processador principal do micro (e natildeo da placa de viacutedeo)mas em qualquer desses casos um gasto adicional se faznecessaacuterio seja em hardware ou em software
Obs O Padratildeo MPeg 2 eacute o mesmo utilizado em DVDs
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 8
A Estrutura
A seguir seratildeo abordados os conceitos baacutesicosfundamentais necessaacuterios para se entender o mecanismo doDirector e apoacutes essa teoria seraacute abordada a programaccedilatildeoem Lingo simultaneamente a exemplos praacuteticos Essesfundamentos satildeo realmente indispensaacuteveis e natildeo haacute comoseguir adiante na programaccedilatildeo sem que se entendaperfeitamente sua estrutura Lembre-se de que o motivo doDirector ser a ferramenta adotada por 75 dosdesenvolvedores de multimiacutedia no mundo natildeo deve-sesomente agrave sua incontestaacutevel superioridade de recursos mastambeacutem agrave interface que trata de uma forma inovadora aprogramaccedilatildeo multimiacutedia
O Director usa metaacuteforas do meio teatral comoldquoStagerdquo (Palco) (onde satildeo mostradas as apresentaccedilotildees)ldquoCastrdquo (Elenco) onde eacute armazenado o elenco (castMembersou membros do elenco) e ldquoScorerdquo (onde estatildeo contidas asinstruccedilotildees que organizam o elenco) Behavior(comportamento) geralmente conteacutem funccedilotildees de Lingo queao ser aplicado a uma sprite fazem com que ela tenha umcomportamento proacuteprio Tudo isso e muito mais seraacuteapresentado com detalhes mais adiante
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 9
O score estaacute dividido em quadros para facilitar ocontrole de tempo e layer de cada objeto usado no projeto Seobservarmos os quadros na horizontal estaremos observandoos frames Um frame eacute como um quadro de um filme exibidodurante determinado periacuteodo de tempo O default desse tempoeacute 115 do segundo ou seja em 1 segundo satildeo exibidos 15quadros Esse valor eacute aproximadamente a percepccedilatildeo retiniana euma animaccedilatildeo mostrada nessa velocidade geralmente eacutesuficiente para bons resultados No Director 7 essa velocidadepode ser aumentada ateacute 1000 fps (frames por segundo) poreacutemo desempenho real dependeraacute de uma maacutequina (usuaacuterio final)que tenha capacidade de mostrar uma animaccedilatildeo nessavelocidade Atenccedilatildeo a isso
Observando-se esses mesmos quadros na verticalverifica-se o layer ou como eacute chamado no Director o channel(canal) de cada objeto Se um cast member (membro do elenco)for solto sobre o canal 1 e um outro estiver ocupando o canal 2o objeto no canal de niacutevel superior apareceraacute sobre oantecessor Esses objetos satildeo chamados de Sprites noldquolinguajar macromedianordquo Sprites satildeo membros do elenco emcena ou seja o que o usuaacuterio final observaraacute
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 10
1 - Como funciona o Director
Como o proacuteprio nome sugere vocecirc eacute o ldquodiretorrdquo de umfilme Nesse filme estatildeo os membros do elenco (Cast members)e vocecirc comanda o espetaacuteculo dizendo para cada membro o queele deve fazer Soacute para entender a diferenccedila entre ele e seuconcorrente mais proacuteximo (o ToolBook) basta lembrar queneste vocecirc associa eventos a objetos e cada objeto estaacuteassociado a outros No Director eacute diferente o filme vaicorrendo o script (coacutedigo contendo comandos da linguagemLingo) referente a cada objeto (Esse ldquoobjetordquo no Directorchama-se sprite e refere-se ao Cast member em accedilatildeo conformecitado anteriormente) comanda a interatividade e tudo maisde forma que o filme quase nunca para na realidade Essa visatildeodinacircmica ajuda em muito a estrutura de um projeto que envolvasobretudo animaccedilotildees
Com a figura a seguir pode-se entender melhor osdiversos componentes de um filme do Director O programaexecutaacutevel (compilado) que o Director gera eacute chamado deprojector Pode-se criar projetores de 16 bits (funciona emWindows 3x e Windows 9xNT) e 32 bits (apenas Windows9xNT) mas natildeo eacute recomendaacutevel criar-se projetores 16 bitspara serem executados em sistemas 32 bits Com a mesmafacilidade com que se cria um projetor de 16 ou 32 bits pode-se criar um projetor para Machintosh bastando para talcompilar o programa fonte em um Mac com o respectivoDirector
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 11
Cast members e sprites
Cast members satildeo os componentes do filme mesmoque eles natildeo estejam em cena Quando importamos algumobjeto para dentro de um filme do Director ele torna-se umCast member Tambeacutem quando definimos um script para umobjeto ele torna-se um cast member Os cast members satildeoorganizados e exibidos em casts conforme a figura abaixo
Exemplos de miacutedias Imagens (BMP JPG GIF)Animaccedilotildees (FLI FLC e Film Loop) Viacutedeos (MOV AVI eMPEG) e aacuteudio (WAV AIF SWA AU e MP3)
Cast member
Sprite no stage
sprite no score
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 12
Sprites satildeo objetos em cena Quando se arrasta um castmember para dentro do stage ele torna-se um sprite Eacuteimportante observar que um cast member pode existir sem queexista na forma de sprite mas a reciacuteproca natildeo eacute verdadeira
Importante O mesmo cast member pode originar diversos sprites
sendo cada um com suas propriedades de tamanho posiccedilatildeo nostage opacidade tinta etc
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 13
Os canais do score
Como representado na figura abaixo existem algunscanais para controlar sprites no score O primeiro eacute relativo aotempo o seguinte agraves palletes de cor o outro agraves transiccedilotildees deframes Tem-se ainda o controle individual dos 2 canais deaacuteudio e o script de cada frame executado cada vez que aexecuccedilatildeo do filme chega neste
O canal Tempo controla efeitosde tempo e cue points de aacuteudio
O canal Palete eacute importantequando se trabalha com 256 cores
ou menos
O canal Transiccedilatildeo define efeitosde mudanccedila entre frames
Canais de som no score (maioresdetalhes seratildeo vistos adiantes)
Frame script - define o script Lingoque seraacute executado quando o movie
estiver sobre aquele frame
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 14
Com a tabela abaixo pode-se referenciar vaacuterios tipos de miacutediasatraveacutes da visualizaccedilatildeo dos indicativos das mesmas
Cast Member Descriccedilatildeo da Miacutedia1 Bitmap2 Pallete de cor3 Efeito da Intel4 Fonte5 Cursor6 Gif animada7 Vector shape8 Flash movie9 Botatildeo10 Field11 Text12 Movie script13 Parent script14 Behavior15 Viacutedeo digital AVI16 Aacuteudio interno17 Aacuteudio linkado18 SWA
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 15
3 - Trabalhando com Sprites
Neste capiacutetulo inicia-se a parte da organizaccedilatildeo domaterial Na verdade uma animaccedilatildeo eacute tatildeo somente a definiccedilatildeode instruccedilotildees para cada elemento componente do filme e umcomplexo aplicativo de multimiacutedia eacute apenas a integraccedilatildeo devaacuterias miacutedias
A princiacutepio um sprite precisa ser devidamenteorganizado em um lugar do score Deveraacute tambeacutem estarassociado a ele (eventualmente) um coacutedigo de instruccedilotildees essecoacutedigo que na verdade eacute uma linguagem proacutepria do Directorchama-se Lingo Veremos que algumas animaccedilotildees podem serfeitas sem que seja necessaacuterio escrever-se uma uacutenica linha decoacutedigo
Criando sprites
Quando um cast member eacute arrastado e solto sobre umcanal do score eacute criado um sprite com duraccedilatildeo de 28 frames(isso eacute o default mas pode ser modificado para o nuacutemerodesejado) ou entatildeo caso o mesmo jaacute exista pode-se arrastar abarra em uma das extremidades colocando-a do tamanho emFrames que se desejar
Arraste e solte aextremedidade posterior dosprite para definir ateacute em
que frame ele estaraacutepresente
ou defina os nuacutemeros dosframes iniciais e finais
diretamente na respectivacaixa de texto
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 5
Introduccedilatildeo
O software de autoria Macromedia Director 7disponibiliza uma enorme gama de controles necessaacuterios para acriaccedilatildeo de aplicativos que podem variar de simplesapresentaccedilotildees a complexos games programas interativos(inclusive acessados via browser) e aplicativos Multiusuaacuteriosvia Internet
Apesar de ser o mais poderoso software de autoria emmultimiacutedia existente eventualmente pode-se fazer necessaacuterio ouso de recursos adicionais do mesmo Isso pode ser resolvidogeralmente adquirindo-se ldquoXtrasrdquo (complementos) de outrosdesenvolvedores e que divulgam seus produtos pela InternetAlguns Xtras satildeo gratuitos (freeware) outros solicitam umadoaccedilatildeo a instituiccedilotildees (donationware) e outros comercializadosEacute importante observar que a necessidade de adquirir-se umXtra externo dependeraacute do objetivo do software proposto osXtras expandem as possibilidades do Director de formailimitada A Macromedia oferece todas as informaccedilotildeesnecessaacuterias sobre a arquitetura para o desenvolvimento deXtras (MOA - Arquitetura aberta da Macromedia) de forma queos interessados possam desenvolver seus proacuteprios Xtras emC++
Neste material seratildeo mostrados os recursos mais usadosdo Director 7 de forma a possibilitar o desenvolvimento desoftwares de consideraacutevel complexidade Seratildeo mostradasteacutecnicas de animaccedilotildees e controle de interatividade atraveacutes deexemplos praacuteticos Ao final deste curso vocecirc estaraacute apto adesenvolver seu proacuteprio software utilizando natildeo somente oscomandos aqui abordados pois o objetivo principal do mesmoeacute capacitar aos iniciantes a possibilidade de um auto-desenvolvimento a niacutevel avanccedilado seja consultando o Help doDirector atraveacutes de manuais eou livros e listas de discussatildeo naInternet
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 6
Principais Codecs
Radius Cinepak Codec Apesar de a compressatildeo com este codec ser mais lenta
a descompressatildeo ocorre bem mais rapidamente o que tornaesse codec um dos mais indicados como compressor de Viacutedeofor Windows trabalhando muito bem na criaccedilatildeo de tiacutetulos emCD-ROM Trabalha melhor em 24 bits
Intel Indeo 32 Tambeacutem funciona melhor em 24 bits e eacute o mais versaacutetil
codec sendo tambeacutem muito recomendado para obras em CD-ROM Apesar de muito semelhante ao Cinepak quanto agrave taxade compressatildeo e qualidade parece que exige um pouco mais dacapacidade do processador durante a descompressatildeo
Microsoft Video 1 Suporta 8 16 ou 32 bits de cor A uacutenica vantagem deste
codec eacute a rapidez durante a compressatildeo
Microsoft RLE Foi criado originalmente para o uso em animaccedilotildees natildeo
sendo recomendaacutevel seu uso com imagens capturadas a partirde cacircmeras de viacutedeo Uma animaccedilatildeo 2D com cor soacutelida podetrabalhar bem com este codec lembrando que este suportaapenas 8 bits de cor
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 7
Restriccedilotildees de uso do padratildeo MPeg
Necessidade de software ou hardware especiacuteficos Opadratildeo MPeg eacute uma forma compactada de viacutedeo digital porisso consegue exibir viacutedeos de excelente qualidade (e aacuteudio hi-fi) mesmo com uma baixa taxa de transferecircncia do CD-ROMporeacutem torna-se necessaacuterio uma descompactaccedilatildeo em real-time para que os quadros sejam exibidos convenientementeAlgumas placas de viacutedeo jaacute possuem esse descompactadorincorporado existem tambeacutem placas descompressoras MPegvendidas separadamente existem ainda softwares que fazemesta descompactaccedilatildeo utilizando a capacidade de processamentodo processador principal do micro (e natildeo da placa de viacutedeo)mas em qualquer desses casos um gasto adicional se faznecessaacuterio seja em hardware ou em software
Obs O Padratildeo MPeg 2 eacute o mesmo utilizado em DVDs
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 8
A Estrutura
A seguir seratildeo abordados os conceitos baacutesicosfundamentais necessaacuterios para se entender o mecanismo doDirector e apoacutes essa teoria seraacute abordada a programaccedilatildeoem Lingo simultaneamente a exemplos praacuteticos Essesfundamentos satildeo realmente indispensaacuteveis e natildeo haacute comoseguir adiante na programaccedilatildeo sem que se entendaperfeitamente sua estrutura Lembre-se de que o motivo doDirector ser a ferramenta adotada por 75 dosdesenvolvedores de multimiacutedia no mundo natildeo deve-sesomente agrave sua incontestaacutevel superioridade de recursos mastambeacutem agrave interface que trata de uma forma inovadora aprogramaccedilatildeo multimiacutedia
O Director usa metaacuteforas do meio teatral comoldquoStagerdquo (Palco) (onde satildeo mostradas as apresentaccedilotildees)ldquoCastrdquo (Elenco) onde eacute armazenado o elenco (castMembersou membros do elenco) e ldquoScorerdquo (onde estatildeo contidas asinstruccedilotildees que organizam o elenco) Behavior(comportamento) geralmente conteacutem funccedilotildees de Lingo queao ser aplicado a uma sprite fazem com que ela tenha umcomportamento proacuteprio Tudo isso e muito mais seraacuteapresentado com detalhes mais adiante
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 9
O score estaacute dividido em quadros para facilitar ocontrole de tempo e layer de cada objeto usado no projeto Seobservarmos os quadros na horizontal estaremos observandoos frames Um frame eacute como um quadro de um filme exibidodurante determinado periacuteodo de tempo O default desse tempoeacute 115 do segundo ou seja em 1 segundo satildeo exibidos 15quadros Esse valor eacute aproximadamente a percepccedilatildeo retiniana euma animaccedilatildeo mostrada nessa velocidade geralmente eacutesuficiente para bons resultados No Director 7 essa velocidadepode ser aumentada ateacute 1000 fps (frames por segundo) poreacutemo desempenho real dependeraacute de uma maacutequina (usuaacuterio final)que tenha capacidade de mostrar uma animaccedilatildeo nessavelocidade Atenccedilatildeo a isso
Observando-se esses mesmos quadros na verticalverifica-se o layer ou como eacute chamado no Director o channel(canal) de cada objeto Se um cast member (membro do elenco)for solto sobre o canal 1 e um outro estiver ocupando o canal 2o objeto no canal de niacutevel superior apareceraacute sobre oantecessor Esses objetos satildeo chamados de Sprites noldquolinguajar macromedianordquo Sprites satildeo membros do elenco emcena ou seja o que o usuaacuterio final observaraacute
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 10
1 - Como funciona o Director
Como o proacuteprio nome sugere vocecirc eacute o ldquodiretorrdquo de umfilme Nesse filme estatildeo os membros do elenco (Cast members)e vocecirc comanda o espetaacuteculo dizendo para cada membro o queele deve fazer Soacute para entender a diferenccedila entre ele e seuconcorrente mais proacuteximo (o ToolBook) basta lembrar queneste vocecirc associa eventos a objetos e cada objeto estaacuteassociado a outros No Director eacute diferente o filme vaicorrendo o script (coacutedigo contendo comandos da linguagemLingo) referente a cada objeto (Esse ldquoobjetordquo no Directorchama-se sprite e refere-se ao Cast member em accedilatildeo conformecitado anteriormente) comanda a interatividade e tudo maisde forma que o filme quase nunca para na realidade Essa visatildeodinacircmica ajuda em muito a estrutura de um projeto que envolvasobretudo animaccedilotildees
Com a figura a seguir pode-se entender melhor osdiversos componentes de um filme do Director O programaexecutaacutevel (compilado) que o Director gera eacute chamado deprojector Pode-se criar projetores de 16 bits (funciona emWindows 3x e Windows 9xNT) e 32 bits (apenas Windows9xNT) mas natildeo eacute recomendaacutevel criar-se projetores 16 bitspara serem executados em sistemas 32 bits Com a mesmafacilidade com que se cria um projetor de 16 ou 32 bits pode-se criar um projetor para Machintosh bastando para talcompilar o programa fonte em um Mac com o respectivoDirector
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 11
Cast members e sprites
Cast members satildeo os componentes do filme mesmoque eles natildeo estejam em cena Quando importamos algumobjeto para dentro de um filme do Director ele torna-se umCast member Tambeacutem quando definimos um script para umobjeto ele torna-se um cast member Os cast members satildeoorganizados e exibidos em casts conforme a figura abaixo
Exemplos de miacutedias Imagens (BMP JPG GIF)Animaccedilotildees (FLI FLC e Film Loop) Viacutedeos (MOV AVI eMPEG) e aacuteudio (WAV AIF SWA AU e MP3)
Cast member
Sprite no stage
sprite no score
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 12
Sprites satildeo objetos em cena Quando se arrasta um castmember para dentro do stage ele torna-se um sprite Eacuteimportante observar que um cast member pode existir sem queexista na forma de sprite mas a reciacuteproca natildeo eacute verdadeira
Importante O mesmo cast member pode originar diversos sprites
sendo cada um com suas propriedades de tamanho posiccedilatildeo nostage opacidade tinta etc
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 13
Os canais do score
Como representado na figura abaixo existem algunscanais para controlar sprites no score O primeiro eacute relativo aotempo o seguinte agraves palletes de cor o outro agraves transiccedilotildees deframes Tem-se ainda o controle individual dos 2 canais deaacuteudio e o script de cada frame executado cada vez que aexecuccedilatildeo do filme chega neste
O canal Tempo controla efeitosde tempo e cue points de aacuteudio
O canal Palete eacute importantequando se trabalha com 256 cores
ou menos
O canal Transiccedilatildeo define efeitosde mudanccedila entre frames
Canais de som no score (maioresdetalhes seratildeo vistos adiantes)
Frame script - define o script Lingoque seraacute executado quando o movie
estiver sobre aquele frame
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 14
Com a tabela abaixo pode-se referenciar vaacuterios tipos de miacutediasatraveacutes da visualizaccedilatildeo dos indicativos das mesmas
Cast Member Descriccedilatildeo da Miacutedia1 Bitmap2 Pallete de cor3 Efeito da Intel4 Fonte5 Cursor6 Gif animada7 Vector shape8 Flash movie9 Botatildeo10 Field11 Text12 Movie script13 Parent script14 Behavior15 Viacutedeo digital AVI16 Aacuteudio interno17 Aacuteudio linkado18 SWA
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 15
3 - Trabalhando com Sprites
Neste capiacutetulo inicia-se a parte da organizaccedilatildeo domaterial Na verdade uma animaccedilatildeo eacute tatildeo somente a definiccedilatildeode instruccedilotildees para cada elemento componente do filme e umcomplexo aplicativo de multimiacutedia eacute apenas a integraccedilatildeo devaacuterias miacutedias
A princiacutepio um sprite precisa ser devidamenteorganizado em um lugar do score Deveraacute tambeacutem estarassociado a ele (eventualmente) um coacutedigo de instruccedilotildees essecoacutedigo que na verdade eacute uma linguagem proacutepria do Directorchama-se Lingo Veremos que algumas animaccedilotildees podem serfeitas sem que seja necessaacuterio escrever-se uma uacutenica linha decoacutedigo
Criando sprites
Quando um cast member eacute arrastado e solto sobre umcanal do score eacute criado um sprite com duraccedilatildeo de 28 frames(isso eacute o default mas pode ser modificado para o nuacutemerodesejado) ou entatildeo caso o mesmo jaacute exista pode-se arrastar abarra em uma das extremidades colocando-a do tamanho emFrames que se desejar
Arraste e solte aextremedidade posterior dosprite para definir ateacute em
que frame ele estaraacutepresente
ou defina os nuacutemeros dosframes iniciais e finais
diretamente na respectivacaixa de texto
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 6
Principais Codecs
Radius Cinepak Codec Apesar de a compressatildeo com este codec ser mais lenta
a descompressatildeo ocorre bem mais rapidamente o que tornaesse codec um dos mais indicados como compressor de Viacutedeofor Windows trabalhando muito bem na criaccedilatildeo de tiacutetulos emCD-ROM Trabalha melhor em 24 bits
Intel Indeo 32 Tambeacutem funciona melhor em 24 bits e eacute o mais versaacutetil
codec sendo tambeacutem muito recomendado para obras em CD-ROM Apesar de muito semelhante ao Cinepak quanto agrave taxade compressatildeo e qualidade parece que exige um pouco mais dacapacidade do processador durante a descompressatildeo
Microsoft Video 1 Suporta 8 16 ou 32 bits de cor A uacutenica vantagem deste
codec eacute a rapidez durante a compressatildeo
Microsoft RLE Foi criado originalmente para o uso em animaccedilotildees natildeo
sendo recomendaacutevel seu uso com imagens capturadas a partirde cacircmeras de viacutedeo Uma animaccedilatildeo 2D com cor soacutelida podetrabalhar bem com este codec lembrando que este suportaapenas 8 bits de cor
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 7
Restriccedilotildees de uso do padratildeo MPeg
Necessidade de software ou hardware especiacuteficos Opadratildeo MPeg eacute uma forma compactada de viacutedeo digital porisso consegue exibir viacutedeos de excelente qualidade (e aacuteudio hi-fi) mesmo com uma baixa taxa de transferecircncia do CD-ROMporeacutem torna-se necessaacuterio uma descompactaccedilatildeo em real-time para que os quadros sejam exibidos convenientementeAlgumas placas de viacutedeo jaacute possuem esse descompactadorincorporado existem tambeacutem placas descompressoras MPegvendidas separadamente existem ainda softwares que fazemesta descompactaccedilatildeo utilizando a capacidade de processamentodo processador principal do micro (e natildeo da placa de viacutedeo)mas em qualquer desses casos um gasto adicional se faznecessaacuterio seja em hardware ou em software
Obs O Padratildeo MPeg 2 eacute o mesmo utilizado em DVDs
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 8
A Estrutura
A seguir seratildeo abordados os conceitos baacutesicosfundamentais necessaacuterios para se entender o mecanismo doDirector e apoacutes essa teoria seraacute abordada a programaccedilatildeoem Lingo simultaneamente a exemplos praacuteticos Essesfundamentos satildeo realmente indispensaacuteveis e natildeo haacute comoseguir adiante na programaccedilatildeo sem que se entendaperfeitamente sua estrutura Lembre-se de que o motivo doDirector ser a ferramenta adotada por 75 dosdesenvolvedores de multimiacutedia no mundo natildeo deve-sesomente agrave sua incontestaacutevel superioridade de recursos mastambeacutem agrave interface que trata de uma forma inovadora aprogramaccedilatildeo multimiacutedia
O Director usa metaacuteforas do meio teatral comoldquoStagerdquo (Palco) (onde satildeo mostradas as apresentaccedilotildees)ldquoCastrdquo (Elenco) onde eacute armazenado o elenco (castMembersou membros do elenco) e ldquoScorerdquo (onde estatildeo contidas asinstruccedilotildees que organizam o elenco) Behavior(comportamento) geralmente conteacutem funccedilotildees de Lingo queao ser aplicado a uma sprite fazem com que ela tenha umcomportamento proacuteprio Tudo isso e muito mais seraacuteapresentado com detalhes mais adiante
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 9
O score estaacute dividido em quadros para facilitar ocontrole de tempo e layer de cada objeto usado no projeto Seobservarmos os quadros na horizontal estaremos observandoos frames Um frame eacute como um quadro de um filme exibidodurante determinado periacuteodo de tempo O default desse tempoeacute 115 do segundo ou seja em 1 segundo satildeo exibidos 15quadros Esse valor eacute aproximadamente a percepccedilatildeo retiniana euma animaccedilatildeo mostrada nessa velocidade geralmente eacutesuficiente para bons resultados No Director 7 essa velocidadepode ser aumentada ateacute 1000 fps (frames por segundo) poreacutemo desempenho real dependeraacute de uma maacutequina (usuaacuterio final)que tenha capacidade de mostrar uma animaccedilatildeo nessavelocidade Atenccedilatildeo a isso
Observando-se esses mesmos quadros na verticalverifica-se o layer ou como eacute chamado no Director o channel(canal) de cada objeto Se um cast member (membro do elenco)for solto sobre o canal 1 e um outro estiver ocupando o canal 2o objeto no canal de niacutevel superior apareceraacute sobre oantecessor Esses objetos satildeo chamados de Sprites noldquolinguajar macromedianordquo Sprites satildeo membros do elenco emcena ou seja o que o usuaacuterio final observaraacute
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 10
1 - Como funciona o Director
Como o proacuteprio nome sugere vocecirc eacute o ldquodiretorrdquo de umfilme Nesse filme estatildeo os membros do elenco (Cast members)e vocecirc comanda o espetaacuteculo dizendo para cada membro o queele deve fazer Soacute para entender a diferenccedila entre ele e seuconcorrente mais proacuteximo (o ToolBook) basta lembrar queneste vocecirc associa eventos a objetos e cada objeto estaacuteassociado a outros No Director eacute diferente o filme vaicorrendo o script (coacutedigo contendo comandos da linguagemLingo) referente a cada objeto (Esse ldquoobjetordquo no Directorchama-se sprite e refere-se ao Cast member em accedilatildeo conformecitado anteriormente) comanda a interatividade e tudo maisde forma que o filme quase nunca para na realidade Essa visatildeodinacircmica ajuda em muito a estrutura de um projeto que envolvasobretudo animaccedilotildees
Com a figura a seguir pode-se entender melhor osdiversos componentes de um filme do Director O programaexecutaacutevel (compilado) que o Director gera eacute chamado deprojector Pode-se criar projetores de 16 bits (funciona emWindows 3x e Windows 9xNT) e 32 bits (apenas Windows9xNT) mas natildeo eacute recomendaacutevel criar-se projetores 16 bitspara serem executados em sistemas 32 bits Com a mesmafacilidade com que se cria um projetor de 16 ou 32 bits pode-se criar um projetor para Machintosh bastando para talcompilar o programa fonte em um Mac com o respectivoDirector
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 11
Cast members e sprites
Cast members satildeo os componentes do filme mesmoque eles natildeo estejam em cena Quando importamos algumobjeto para dentro de um filme do Director ele torna-se umCast member Tambeacutem quando definimos um script para umobjeto ele torna-se um cast member Os cast members satildeoorganizados e exibidos em casts conforme a figura abaixo
Exemplos de miacutedias Imagens (BMP JPG GIF)Animaccedilotildees (FLI FLC e Film Loop) Viacutedeos (MOV AVI eMPEG) e aacuteudio (WAV AIF SWA AU e MP3)
Cast member
Sprite no stage
sprite no score
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 12
Sprites satildeo objetos em cena Quando se arrasta um castmember para dentro do stage ele torna-se um sprite Eacuteimportante observar que um cast member pode existir sem queexista na forma de sprite mas a reciacuteproca natildeo eacute verdadeira
Importante O mesmo cast member pode originar diversos sprites
sendo cada um com suas propriedades de tamanho posiccedilatildeo nostage opacidade tinta etc
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 13
Os canais do score
Como representado na figura abaixo existem algunscanais para controlar sprites no score O primeiro eacute relativo aotempo o seguinte agraves palletes de cor o outro agraves transiccedilotildees deframes Tem-se ainda o controle individual dos 2 canais deaacuteudio e o script de cada frame executado cada vez que aexecuccedilatildeo do filme chega neste
O canal Tempo controla efeitosde tempo e cue points de aacuteudio
O canal Palete eacute importantequando se trabalha com 256 cores
ou menos
O canal Transiccedilatildeo define efeitosde mudanccedila entre frames
Canais de som no score (maioresdetalhes seratildeo vistos adiantes)
Frame script - define o script Lingoque seraacute executado quando o movie
estiver sobre aquele frame
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 14
Com a tabela abaixo pode-se referenciar vaacuterios tipos de miacutediasatraveacutes da visualizaccedilatildeo dos indicativos das mesmas
Cast Member Descriccedilatildeo da Miacutedia1 Bitmap2 Pallete de cor3 Efeito da Intel4 Fonte5 Cursor6 Gif animada7 Vector shape8 Flash movie9 Botatildeo10 Field11 Text12 Movie script13 Parent script14 Behavior15 Viacutedeo digital AVI16 Aacuteudio interno17 Aacuteudio linkado18 SWA
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 15
3 - Trabalhando com Sprites
Neste capiacutetulo inicia-se a parte da organizaccedilatildeo domaterial Na verdade uma animaccedilatildeo eacute tatildeo somente a definiccedilatildeode instruccedilotildees para cada elemento componente do filme e umcomplexo aplicativo de multimiacutedia eacute apenas a integraccedilatildeo devaacuterias miacutedias
A princiacutepio um sprite precisa ser devidamenteorganizado em um lugar do score Deveraacute tambeacutem estarassociado a ele (eventualmente) um coacutedigo de instruccedilotildees essecoacutedigo que na verdade eacute uma linguagem proacutepria do Directorchama-se Lingo Veremos que algumas animaccedilotildees podem serfeitas sem que seja necessaacuterio escrever-se uma uacutenica linha decoacutedigo
Criando sprites
Quando um cast member eacute arrastado e solto sobre umcanal do score eacute criado um sprite com duraccedilatildeo de 28 frames(isso eacute o default mas pode ser modificado para o nuacutemerodesejado) ou entatildeo caso o mesmo jaacute exista pode-se arrastar abarra em uma das extremidades colocando-a do tamanho emFrames que se desejar
Arraste e solte aextremedidade posterior dosprite para definir ateacute em
que frame ele estaraacutepresente
ou defina os nuacutemeros dosframes iniciais e finais
diretamente na respectivacaixa de texto
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 7
Restriccedilotildees de uso do padratildeo MPeg
Necessidade de software ou hardware especiacuteficos Opadratildeo MPeg eacute uma forma compactada de viacutedeo digital porisso consegue exibir viacutedeos de excelente qualidade (e aacuteudio hi-fi) mesmo com uma baixa taxa de transferecircncia do CD-ROMporeacutem torna-se necessaacuterio uma descompactaccedilatildeo em real-time para que os quadros sejam exibidos convenientementeAlgumas placas de viacutedeo jaacute possuem esse descompactadorincorporado existem tambeacutem placas descompressoras MPegvendidas separadamente existem ainda softwares que fazemesta descompactaccedilatildeo utilizando a capacidade de processamentodo processador principal do micro (e natildeo da placa de viacutedeo)mas em qualquer desses casos um gasto adicional se faznecessaacuterio seja em hardware ou em software
Obs O Padratildeo MPeg 2 eacute o mesmo utilizado em DVDs
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 8
A Estrutura
A seguir seratildeo abordados os conceitos baacutesicosfundamentais necessaacuterios para se entender o mecanismo doDirector e apoacutes essa teoria seraacute abordada a programaccedilatildeoem Lingo simultaneamente a exemplos praacuteticos Essesfundamentos satildeo realmente indispensaacuteveis e natildeo haacute comoseguir adiante na programaccedilatildeo sem que se entendaperfeitamente sua estrutura Lembre-se de que o motivo doDirector ser a ferramenta adotada por 75 dosdesenvolvedores de multimiacutedia no mundo natildeo deve-sesomente agrave sua incontestaacutevel superioridade de recursos mastambeacutem agrave interface que trata de uma forma inovadora aprogramaccedilatildeo multimiacutedia
O Director usa metaacuteforas do meio teatral comoldquoStagerdquo (Palco) (onde satildeo mostradas as apresentaccedilotildees)ldquoCastrdquo (Elenco) onde eacute armazenado o elenco (castMembersou membros do elenco) e ldquoScorerdquo (onde estatildeo contidas asinstruccedilotildees que organizam o elenco) Behavior(comportamento) geralmente conteacutem funccedilotildees de Lingo queao ser aplicado a uma sprite fazem com que ela tenha umcomportamento proacuteprio Tudo isso e muito mais seraacuteapresentado com detalhes mais adiante
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 9
O score estaacute dividido em quadros para facilitar ocontrole de tempo e layer de cada objeto usado no projeto Seobservarmos os quadros na horizontal estaremos observandoos frames Um frame eacute como um quadro de um filme exibidodurante determinado periacuteodo de tempo O default desse tempoeacute 115 do segundo ou seja em 1 segundo satildeo exibidos 15quadros Esse valor eacute aproximadamente a percepccedilatildeo retiniana euma animaccedilatildeo mostrada nessa velocidade geralmente eacutesuficiente para bons resultados No Director 7 essa velocidadepode ser aumentada ateacute 1000 fps (frames por segundo) poreacutemo desempenho real dependeraacute de uma maacutequina (usuaacuterio final)que tenha capacidade de mostrar uma animaccedilatildeo nessavelocidade Atenccedilatildeo a isso
Observando-se esses mesmos quadros na verticalverifica-se o layer ou como eacute chamado no Director o channel(canal) de cada objeto Se um cast member (membro do elenco)for solto sobre o canal 1 e um outro estiver ocupando o canal 2o objeto no canal de niacutevel superior apareceraacute sobre oantecessor Esses objetos satildeo chamados de Sprites noldquolinguajar macromedianordquo Sprites satildeo membros do elenco emcena ou seja o que o usuaacuterio final observaraacute
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 10
1 - Como funciona o Director
Como o proacuteprio nome sugere vocecirc eacute o ldquodiretorrdquo de umfilme Nesse filme estatildeo os membros do elenco (Cast members)e vocecirc comanda o espetaacuteculo dizendo para cada membro o queele deve fazer Soacute para entender a diferenccedila entre ele e seuconcorrente mais proacuteximo (o ToolBook) basta lembrar queneste vocecirc associa eventos a objetos e cada objeto estaacuteassociado a outros No Director eacute diferente o filme vaicorrendo o script (coacutedigo contendo comandos da linguagemLingo) referente a cada objeto (Esse ldquoobjetordquo no Directorchama-se sprite e refere-se ao Cast member em accedilatildeo conformecitado anteriormente) comanda a interatividade e tudo maisde forma que o filme quase nunca para na realidade Essa visatildeodinacircmica ajuda em muito a estrutura de um projeto que envolvasobretudo animaccedilotildees
Com a figura a seguir pode-se entender melhor osdiversos componentes de um filme do Director O programaexecutaacutevel (compilado) que o Director gera eacute chamado deprojector Pode-se criar projetores de 16 bits (funciona emWindows 3x e Windows 9xNT) e 32 bits (apenas Windows9xNT) mas natildeo eacute recomendaacutevel criar-se projetores 16 bitspara serem executados em sistemas 32 bits Com a mesmafacilidade com que se cria um projetor de 16 ou 32 bits pode-se criar um projetor para Machintosh bastando para talcompilar o programa fonte em um Mac com o respectivoDirector
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 11
Cast members e sprites
Cast members satildeo os componentes do filme mesmoque eles natildeo estejam em cena Quando importamos algumobjeto para dentro de um filme do Director ele torna-se umCast member Tambeacutem quando definimos um script para umobjeto ele torna-se um cast member Os cast members satildeoorganizados e exibidos em casts conforme a figura abaixo
Exemplos de miacutedias Imagens (BMP JPG GIF)Animaccedilotildees (FLI FLC e Film Loop) Viacutedeos (MOV AVI eMPEG) e aacuteudio (WAV AIF SWA AU e MP3)
Cast member
Sprite no stage
sprite no score
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 12
Sprites satildeo objetos em cena Quando se arrasta um castmember para dentro do stage ele torna-se um sprite Eacuteimportante observar que um cast member pode existir sem queexista na forma de sprite mas a reciacuteproca natildeo eacute verdadeira
Importante O mesmo cast member pode originar diversos sprites
sendo cada um com suas propriedades de tamanho posiccedilatildeo nostage opacidade tinta etc
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 13
Os canais do score
Como representado na figura abaixo existem algunscanais para controlar sprites no score O primeiro eacute relativo aotempo o seguinte agraves palletes de cor o outro agraves transiccedilotildees deframes Tem-se ainda o controle individual dos 2 canais deaacuteudio e o script de cada frame executado cada vez que aexecuccedilatildeo do filme chega neste
O canal Tempo controla efeitosde tempo e cue points de aacuteudio
O canal Palete eacute importantequando se trabalha com 256 cores
ou menos
O canal Transiccedilatildeo define efeitosde mudanccedila entre frames
Canais de som no score (maioresdetalhes seratildeo vistos adiantes)
Frame script - define o script Lingoque seraacute executado quando o movie
estiver sobre aquele frame
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 14
Com a tabela abaixo pode-se referenciar vaacuterios tipos de miacutediasatraveacutes da visualizaccedilatildeo dos indicativos das mesmas
Cast Member Descriccedilatildeo da Miacutedia1 Bitmap2 Pallete de cor3 Efeito da Intel4 Fonte5 Cursor6 Gif animada7 Vector shape8 Flash movie9 Botatildeo10 Field11 Text12 Movie script13 Parent script14 Behavior15 Viacutedeo digital AVI16 Aacuteudio interno17 Aacuteudio linkado18 SWA
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 15
3 - Trabalhando com Sprites
Neste capiacutetulo inicia-se a parte da organizaccedilatildeo domaterial Na verdade uma animaccedilatildeo eacute tatildeo somente a definiccedilatildeode instruccedilotildees para cada elemento componente do filme e umcomplexo aplicativo de multimiacutedia eacute apenas a integraccedilatildeo devaacuterias miacutedias
A princiacutepio um sprite precisa ser devidamenteorganizado em um lugar do score Deveraacute tambeacutem estarassociado a ele (eventualmente) um coacutedigo de instruccedilotildees essecoacutedigo que na verdade eacute uma linguagem proacutepria do Directorchama-se Lingo Veremos que algumas animaccedilotildees podem serfeitas sem que seja necessaacuterio escrever-se uma uacutenica linha decoacutedigo
Criando sprites
Quando um cast member eacute arrastado e solto sobre umcanal do score eacute criado um sprite com duraccedilatildeo de 28 frames(isso eacute o default mas pode ser modificado para o nuacutemerodesejado) ou entatildeo caso o mesmo jaacute exista pode-se arrastar abarra em uma das extremidades colocando-a do tamanho emFrames que se desejar
Arraste e solte aextremedidade posterior dosprite para definir ateacute em
que frame ele estaraacutepresente
ou defina os nuacutemeros dosframes iniciais e finais
diretamente na respectivacaixa de texto
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 8
A Estrutura
A seguir seratildeo abordados os conceitos baacutesicosfundamentais necessaacuterios para se entender o mecanismo doDirector e apoacutes essa teoria seraacute abordada a programaccedilatildeoem Lingo simultaneamente a exemplos praacuteticos Essesfundamentos satildeo realmente indispensaacuteveis e natildeo haacute comoseguir adiante na programaccedilatildeo sem que se entendaperfeitamente sua estrutura Lembre-se de que o motivo doDirector ser a ferramenta adotada por 75 dosdesenvolvedores de multimiacutedia no mundo natildeo deve-sesomente agrave sua incontestaacutevel superioridade de recursos mastambeacutem agrave interface que trata de uma forma inovadora aprogramaccedilatildeo multimiacutedia
O Director usa metaacuteforas do meio teatral comoldquoStagerdquo (Palco) (onde satildeo mostradas as apresentaccedilotildees)ldquoCastrdquo (Elenco) onde eacute armazenado o elenco (castMembersou membros do elenco) e ldquoScorerdquo (onde estatildeo contidas asinstruccedilotildees que organizam o elenco) Behavior(comportamento) geralmente conteacutem funccedilotildees de Lingo queao ser aplicado a uma sprite fazem com que ela tenha umcomportamento proacuteprio Tudo isso e muito mais seraacuteapresentado com detalhes mais adiante
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 9
O score estaacute dividido em quadros para facilitar ocontrole de tempo e layer de cada objeto usado no projeto Seobservarmos os quadros na horizontal estaremos observandoos frames Um frame eacute como um quadro de um filme exibidodurante determinado periacuteodo de tempo O default desse tempoeacute 115 do segundo ou seja em 1 segundo satildeo exibidos 15quadros Esse valor eacute aproximadamente a percepccedilatildeo retiniana euma animaccedilatildeo mostrada nessa velocidade geralmente eacutesuficiente para bons resultados No Director 7 essa velocidadepode ser aumentada ateacute 1000 fps (frames por segundo) poreacutemo desempenho real dependeraacute de uma maacutequina (usuaacuterio final)que tenha capacidade de mostrar uma animaccedilatildeo nessavelocidade Atenccedilatildeo a isso
Observando-se esses mesmos quadros na verticalverifica-se o layer ou como eacute chamado no Director o channel(canal) de cada objeto Se um cast member (membro do elenco)for solto sobre o canal 1 e um outro estiver ocupando o canal 2o objeto no canal de niacutevel superior apareceraacute sobre oantecessor Esses objetos satildeo chamados de Sprites noldquolinguajar macromedianordquo Sprites satildeo membros do elenco emcena ou seja o que o usuaacuterio final observaraacute
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 10
1 - Como funciona o Director
Como o proacuteprio nome sugere vocecirc eacute o ldquodiretorrdquo de umfilme Nesse filme estatildeo os membros do elenco (Cast members)e vocecirc comanda o espetaacuteculo dizendo para cada membro o queele deve fazer Soacute para entender a diferenccedila entre ele e seuconcorrente mais proacuteximo (o ToolBook) basta lembrar queneste vocecirc associa eventos a objetos e cada objeto estaacuteassociado a outros No Director eacute diferente o filme vaicorrendo o script (coacutedigo contendo comandos da linguagemLingo) referente a cada objeto (Esse ldquoobjetordquo no Directorchama-se sprite e refere-se ao Cast member em accedilatildeo conformecitado anteriormente) comanda a interatividade e tudo maisde forma que o filme quase nunca para na realidade Essa visatildeodinacircmica ajuda em muito a estrutura de um projeto que envolvasobretudo animaccedilotildees
Com a figura a seguir pode-se entender melhor osdiversos componentes de um filme do Director O programaexecutaacutevel (compilado) que o Director gera eacute chamado deprojector Pode-se criar projetores de 16 bits (funciona emWindows 3x e Windows 9xNT) e 32 bits (apenas Windows9xNT) mas natildeo eacute recomendaacutevel criar-se projetores 16 bitspara serem executados em sistemas 32 bits Com a mesmafacilidade com que se cria um projetor de 16 ou 32 bits pode-se criar um projetor para Machintosh bastando para talcompilar o programa fonte em um Mac com o respectivoDirector
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 11
Cast members e sprites
Cast members satildeo os componentes do filme mesmoque eles natildeo estejam em cena Quando importamos algumobjeto para dentro de um filme do Director ele torna-se umCast member Tambeacutem quando definimos um script para umobjeto ele torna-se um cast member Os cast members satildeoorganizados e exibidos em casts conforme a figura abaixo
Exemplos de miacutedias Imagens (BMP JPG GIF)Animaccedilotildees (FLI FLC e Film Loop) Viacutedeos (MOV AVI eMPEG) e aacuteudio (WAV AIF SWA AU e MP3)
Cast member
Sprite no stage
sprite no score
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 12
Sprites satildeo objetos em cena Quando se arrasta um castmember para dentro do stage ele torna-se um sprite Eacuteimportante observar que um cast member pode existir sem queexista na forma de sprite mas a reciacuteproca natildeo eacute verdadeira
Importante O mesmo cast member pode originar diversos sprites
sendo cada um com suas propriedades de tamanho posiccedilatildeo nostage opacidade tinta etc
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 13
Os canais do score
Como representado na figura abaixo existem algunscanais para controlar sprites no score O primeiro eacute relativo aotempo o seguinte agraves palletes de cor o outro agraves transiccedilotildees deframes Tem-se ainda o controle individual dos 2 canais deaacuteudio e o script de cada frame executado cada vez que aexecuccedilatildeo do filme chega neste
O canal Tempo controla efeitosde tempo e cue points de aacuteudio
O canal Palete eacute importantequando se trabalha com 256 cores
ou menos
O canal Transiccedilatildeo define efeitosde mudanccedila entre frames
Canais de som no score (maioresdetalhes seratildeo vistos adiantes)
Frame script - define o script Lingoque seraacute executado quando o movie
estiver sobre aquele frame
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 14
Com a tabela abaixo pode-se referenciar vaacuterios tipos de miacutediasatraveacutes da visualizaccedilatildeo dos indicativos das mesmas
Cast Member Descriccedilatildeo da Miacutedia1 Bitmap2 Pallete de cor3 Efeito da Intel4 Fonte5 Cursor6 Gif animada7 Vector shape8 Flash movie9 Botatildeo10 Field11 Text12 Movie script13 Parent script14 Behavior15 Viacutedeo digital AVI16 Aacuteudio interno17 Aacuteudio linkado18 SWA
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 15
3 - Trabalhando com Sprites
Neste capiacutetulo inicia-se a parte da organizaccedilatildeo domaterial Na verdade uma animaccedilatildeo eacute tatildeo somente a definiccedilatildeode instruccedilotildees para cada elemento componente do filme e umcomplexo aplicativo de multimiacutedia eacute apenas a integraccedilatildeo devaacuterias miacutedias
A princiacutepio um sprite precisa ser devidamenteorganizado em um lugar do score Deveraacute tambeacutem estarassociado a ele (eventualmente) um coacutedigo de instruccedilotildees essecoacutedigo que na verdade eacute uma linguagem proacutepria do Directorchama-se Lingo Veremos que algumas animaccedilotildees podem serfeitas sem que seja necessaacuterio escrever-se uma uacutenica linha decoacutedigo
Criando sprites
Quando um cast member eacute arrastado e solto sobre umcanal do score eacute criado um sprite com duraccedilatildeo de 28 frames(isso eacute o default mas pode ser modificado para o nuacutemerodesejado) ou entatildeo caso o mesmo jaacute exista pode-se arrastar abarra em uma das extremidades colocando-a do tamanho emFrames que se desejar
Arraste e solte aextremedidade posterior dosprite para definir ateacute em
que frame ele estaraacutepresente
ou defina os nuacutemeros dosframes iniciais e finais
diretamente na respectivacaixa de texto
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 9
O score estaacute dividido em quadros para facilitar ocontrole de tempo e layer de cada objeto usado no projeto Seobservarmos os quadros na horizontal estaremos observandoos frames Um frame eacute como um quadro de um filme exibidodurante determinado periacuteodo de tempo O default desse tempoeacute 115 do segundo ou seja em 1 segundo satildeo exibidos 15quadros Esse valor eacute aproximadamente a percepccedilatildeo retiniana euma animaccedilatildeo mostrada nessa velocidade geralmente eacutesuficiente para bons resultados No Director 7 essa velocidadepode ser aumentada ateacute 1000 fps (frames por segundo) poreacutemo desempenho real dependeraacute de uma maacutequina (usuaacuterio final)que tenha capacidade de mostrar uma animaccedilatildeo nessavelocidade Atenccedilatildeo a isso
Observando-se esses mesmos quadros na verticalverifica-se o layer ou como eacute chamado no Director o channel(canal) de cada objeto Se um cast member (membro do elenco)for solto sobre o canal 1 e um outro estiver ocupando o canal 2o objeto no canal de niacutevel superior apareceraacute sobre oantecessor Esses objetos satildeo chamados de Sprites noldquolinguajar macromedianordquo Sprites satildeo membros do elenco emcena ou seja o que o usuaacuterio final observaraacute
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 10
1 - Como funciona o Director
Como o proacuteprio nome sugere vocecirc eacute o ldquodiretorrdquo de umfilme Nesse filme estatildeo os membros do elenco (Cast members)e vocecirc comanda o espetaacuteculo dizendo para cada membro o queele deve fazer Soacute para entender a diferenccedila entre ele e seuconcorrente mais proacuteximo (o ToolBook) basta lembrar queneste vocecirc associa eventos a objetos e cada objeto estaacuteassociado a outros No Director eacute diferente o filme vaicorrendo o script (coacutedigo contendo comandos da linguagemLingo) referente a cada objeto (Esse ldquoobjetordquo no Directorchama-se sprite e refere-se ao Cast member em accedilatildeo conformecitado anteriormente) comanda a interatividade e tudo maisde forma que o filme quase nunca para na realidade Essa visatildeodinacircmica ajuda em muito a estrutura de um projeto que envolvasobretudo animaccedilotildees
Com a figura a seguir pode-se entender melhor osdiversos componentes de um filme do Director O programaexecutaacutevel (compilado) que o Director gera eacute chamado deprojector Pode-se criar projetores de 16 bits (funciona emWindows 3x e Windows 9xNT) e 32 bits (apenas Windows9xNT) mas natildeo eacute recomendaacutevel criar-se projetores 16 bitspara serem executados em sistemas 32 bits Com a mesmafacilidade com que se cria um projetor de 16 ou 32 bits pode-se criar um projetor para Machintosh bastando para talcompilar o programa fonte em um Mac com o respectivoDirector
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 11
Cast members e sprites
Cast members satildeo os componentes do filme mesmoque eles natildeo estejam em cena Quando importamos algumobjeto para dentro de um filme do Director ele torna-se umCast member Tambeacutem quando definimos um script para umobjeto ele torna-se um cast member Os cast members satildeoorganizados e exibidos em casts conforme a figura abaixo
Exemplos de miacutedias Imagens (BMP JPG GIF)Animaccedilotildees (FLI FLC e Film Loop) Viacutedeos (MOV AVI eMPEG) e aacuteudio (WAV AIF SWA AU e MP3)
Cast member
Sprite no stage
sprite no score
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 12
Sprites satildeo objetos em cena Quando se arrasta um castmember para dentro do stage ele torna-se um sprite Eacuteimportante observar que um cast member pode existir sem queexista na forma de sprite mas a reciacuteproca natildeo eacute verdadeira
Importante O mesmo cast member pode originar diversos sprites
sendo cada um com suas propriedades de tamanho posiccedilatildeo nostage opacidade tinta etc
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 13
Os canais do score
Como representado na figura abaixo existem algunscanais para controlar sprites no score O primeiro eacute relativo aotempo o seguinte agraves palletes de cor o outro agraves transiccedilotildees deframes Tem-se ainda o controle individual dos 2 canais deaacuteudio e o script de cada frame executado cada vez que aexecuccedilatildeo do filme chega neste
O canal Tempo controla efeitosde tempo e cue points de aacuteudio
O canal Palete eacute importantequando se trabalha com 256 cores
ou menos
O canal Transiccedilatildeo define efeitosde mudanccedila entre frames
Canais de som no score (maioresdetalhes seratildeo vistos adiantes)
Frame script - define o script Lingoque seraacute executado quando o movie
estiver sobre aquele frame
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 14
Com a tabela abaixo pode-se referenciar vaacuterios tipos de miacutediasatraveacutes da visualizaccedilatildeo dos indicativos das mesmas
Cast Member Descriccedilatildeo da Miacutedia1 Bitmap2 Pallete de cor3 Efeito da Intel4 Fonte5 Cursor6 Gif animada7 Vector shape8 Flash movie9 Botatildeo10 Field11 Text12 Movie script13 Parent script14 Behavior15 Viacutedeo digital AVI16 Aacuteudio interno17 Aacuteudio linkado18 SWA
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 15
3 - Trabalhando com Sprites
Neste capiacutetulo inicia-se a parte da organizaccedilatildeo domaterial Na verdade uma animaccedilatildeo eacute tatildeo somente a definiccedilatildeode instruccedilotildees para cada elemento componente do filme e umcomplexo aplicativo de multimiacutedia eacute apenas a integraccedilatildeo devaacuterias miacutedias
A princiacutepio um sprite precisa ser devidamenteorganizado em um lugar do score Deveraacute tambeacutem estarassociado a ele (eventualmente) um coacutedigo de instruccedilotildees essecoacutedigo que na verdade eacute uma linguagem proacutepria do Directorchama-se Lingo Veremos que algumas animaccedilotildees podem serfeitas sem que seja necessaacuterio escrever-se uma uacutenica linha decoacutedigo
Criando sprites
Quando um cast member eacute arrastado e solto sobre umcanal do score eacute criado um sprite com duraccedilatildeo de 28 frames(isso eacute o default mas pode ser modificado para o nuacutemerodesejado) ou entatildeo caso o mesmo jaacute exista pode-se arrastar abarra em uma das extremidades colocando-a do tamanho emFrames que se desejar
Arraste e solte aextremedidade posterior dosprite para definir ateacute em
que frame ele estaraacutepresente
ou defina os nuacutemeros dosframes iniciais e finais
diretamente na respectivacaixa de texto
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 10
1 - Como funciona o Director
Como o proacuteprio nome sugere vocecirc eacute o ldquodiretorrdquo de umfilme Nesse filme estatildeo os membros do elenco (Cast members)e vocecirc comanda o espetaacuteculo dizendo para cada membro o queele deve fazer Soacute para entender a diferenccedila entre ele e seuconcorrente mais proacuteximo (o ToolBook) basta lembrar queneste vocecirc associa eventos a objetos e cada objeto estaacuteassociado a outros No Director eacute diferente o filme vaicorrendo o script (coacutedigo contendo comandos da linguagemLingo) referente a cada objeto (Esse ldquoobjetordquo no Directorchama-se sprite e refere-se ao Cast member em accedilatildeo conformecitado anteriormente) comanda a interatividade e tudo maisde forma que o filme quase nunca para na realidade Essa visatildeodinacircmica ajuda em muito a estrutura de um projeto que envolvasobretudo animaccedilotildees
Com a figura a seguir pode-se entender melhor osdiversos componentes de um filme do Director O programaexecutaacutevel (compilado) que o Director gera eacute chamado deprojector Pode-se criar projetores de 16 bits (funciona emWindows 3x e Windows 9xNT) e 32 bits (apenas Windows9xNT) mas natildeo eacute recomendaacutevel criar-se projetores 16 bitspara serem executados em sistemas 32 bits Com a mesmafacilidade com que se cria um projetor de 16 ou 32 bits pode-se criar um projetor para Machintosh bastando para talcompilar o programa fonte em um Mac com o respectivoDirector
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 11
Cast members e sprites
Cast members satildeo os componentes do filme mesmoque eles natildeo estejam em cena Quando importamos algumobjeto para dentro de um filme do Director ele torna-se umCast member Tambeacutem quando definimos um script para umobjeto ele torna-se um cast member Os cast members satildeoorganizados e exibidos em casts conforme a figura abaixo
Exemplos de miacutedias Imagens (BMP JPG GIF)Animaccedilotildees (FLI FLC e Film Loop) Viacutedeos (MOV AVI eMPEG) e aacuteudio (WAV AIF SWA AU e MP3)
Cast member
Sprite no stage
sprite no score
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 12
Sprites satildeo objetos em cena Quando se arrasta um castmember para dentro do stage ele torna-se um sprite Eacuteimportante observar que um cast member pode existir sem queexista na forma de sprite mas a reciacuteproca natildeo eacute verdadeira
Importante O mesmo cast member pode originar diversos sprites
sendo cada um com suas propriedades de tamanho posiccedilatildeo nostage opacidade tinta etc
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 13
Os canais do score
Como representado na figura abaixo existem algunscanais para controlar sprites no score O primeiro eacute relativo aotempo o seguinte agraves palletes de cor o outro agraves transiccedilotildees deframes Tem-se ainda o controle individual dos 2 canais deaacuteudio e o script de cada frame executado cada vez que aexecuccedilatildeo do filme chega neste
O canal Tempo controla efeitosde tempo e cue points de aacuteudio
O canal Palete eacute importantequando se trabalha com 256 cores
ou menos
O canal Transiccedilatildeo define efeitosde mudanccedila entre frames
Canais de som no score (maioresdetalhes seratildeo vistos adiantes)
Frame script - define o script Lingoque seraacute executado quando o movie
estiver sobre aquele frame
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 14
Com a tabela abaixo pode-se referenciar vaacuterios tipos de miacutediasatraveacutes da visualizaccedilatildeo dos indicativos das mesmas
Cast Member Descriccedilatildeo da Miacutedia1 Bitmap2 Pallete de cor3 Efeito da Intel4 Fonte5 Cursor6 Gif animada7 Vector shape8 Flash movie9 Botatildeo10 Field11 Text12 Movie script13 Parent script14 Behavior15 Viacutedeo digital AVI16 Aacuteudio interno17 Aacuteudio linkado18 SWA
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 15
3 - Trabalhando com Sprites
Neste capiacutetulo inicia-se a parte da organizaccedilatildeo domaterial Na verdade uma animaccedilatildeo eacute tatildeo somente a definiccedilatildeode instruccedilotildees para cada elemento componente do filme e umcomplexo aplicativo de multimiacutedia eacute apenas a integraccedilatildeo devaacuterias miacutedias
A princiacutepio um sprite precisa ser devidamenteorganizado em um lugar do score Deveraacute tambeacutem estarassociado a ele (eventualmente) um coacutedigo de instruccedilotildees essecoacutedigo que na verdade eacute uma linguagem proacutepria do Directorchama-se Lingo Veremos que algumas animaccedilotildees podem serfeitas sem que seja necessaacuterio escrever-se uma uacutenica linha decoacutedigo
Criando sprites
Quando um cast member eacute arrastado e solto sobre umcanal do score eacute criado um sprite com duraccedilatildeo de 28 frames(isso eacute o default mas pode ser modificado para o nuacutemerodesejado) ou entatildeo caso o mesmo jaacute exista pode-se arrastar abarra em uma das extremidades colocando-a do tamanho emFrames que se desejar
Arraste e solte aextremedidade posterior dosprite para definir ateacute em
que frame ele estaraacutepresente
ou defina os nuacutemeros dosframes iniciais e finais
diretamente na respectivacaixa de texto
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 11
Cast members e sprites
Cast members satildeo os componentes do filme mesmoque eles natildeo estejam em cena Quando importamos algumobjeto para dentro de um filme do Director ele torna-se umCast member Tambeacutem quando definimos um script para umobjeto ele torna-se um cast member Os cast members satildeoorganizados e exibidos em casts conforme a figura abaixo
Exemplos de miacutedias Imagens (BMP JPG GIF)Animaccedilotildees (FLI FLC e Film Loop) Viacutedeos (MOV AVI eMPEG) e aacuteudio (WAV AIF SWA AU e MP3)
Cast member
Sprite no stage
sprite no score
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 12
Sprites satildeo objetos em cena Quando se arrasta um castmember para dentro do stage ele torna-se um sprite Eacuteimportante observar que um cast member pode existir sem queexista na forma de sprite mas a reciacuteproca natildeo eacute verdadeira
Importante O mesmo cast member pode originar diversos sprites
sendo cada um com suas propriedades de tamanho posiccedilatildeo nostage opacidade tinta etc
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 13
Os canais do score
Como representado na figura abaixo existem algunscanais para controlar sprites no score O primeiro eacute relativo aotempo o seguinte agraves palletes de cor o outro agraves transiccedilotildees deframes Tem-se ainda o controle individual dos 2 canais deaacuteudio e o script de cada frame executado cada vez que aexecuccedilatildeo do filme chega neste
O canal Tempo controla efeitosde tempo e cue points de aacuteudio
O canal Palete eacute importantequando se trabalha com 256 cores
ou menos
O canal Transiccedilatildeo define efeitosde mudanccedila entre frames
Canais de som no score (maioresdetalhes seratildeo vistos adiantes)
Frame script - define o script Lingoque seraacute executado quando o movie
estiver sobre aquele frame
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 14
Com a tabela abaixo pode-se referenciar vaacuterios tipos de miacutediasatraveacutes da visualizaccedilatildeo dos indicativos das mesmas
Cast Member Descriccedilatildeo da Miacutedia1 Bitmap2 Pallete de cor3 Efeito da Intel4 Fonte5 Cursor6 Gif animada7 Vector shape8 Flash movie9 Botatildeo10 Field11 Text12 Movie script13 Parent script14 Behavior15 Viacutedeo digital AVI16 Aacuteudio interno17 Aacuteudio linkado18 SWA
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 15
3 - Trabalhando com Sprites
Neste capiacutetulo inicia-se a parte da organizaccedilatildeo domaterial Na verdade uma animaccedilatildeo eacute tatildeo somente a definiccedilatildeode instruccedilotildees para cada elemento componente do filme e umcomplexo aplicativo de multimiacutedia eacute apenas a integraccedilatildeo devaacuterias miacutedias
A princiacutepio um sprite precisa ser devidamenteorganizado em um lugar do score Deveraacute tambeacutem estarassociado a ele (eventualmente) um coacutedigo de instruccedilotildees essecoacutedigo que na verdade eacute uma linguagem proacutepria do Directorchama-se Lingo Veremos que algumas animaccedilotildees podem serfeitas sem que seja necessaacuterio escrever-se uma uacutenica linha decoacutedigo
Criando sprites
Quando um cast member eacute arrastado e solto sobre umcanal do score eacute criado um sprite com duraccedilatildeo de 28 frames(isso eacute o default mas pode ser modificado para o nuacutemerodesejado) ou entatildeo caso o mesmo jaacute exista pode-se arrastar abarra em uma das extremidades colocando-a do tamanho emFrames que se desejar
Arraste e solte aextremedidade posterior dosprite para definir ateacute em
que frame ele estaraacutepresente
ou defina os nuacutemeros dosframes iniciais e finais
diretamente na respectivacaixa de texto
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 12
Sprites satildeo objetos em cena Quando se arrasta um castmember para dentro do stage ele torna-se um sprite Eacuteimportante observar que um cast member pode existir sem queexista na forma de sprite mas a reciacuteproca natildeo eacute verdadeira
Importante O mesmo cast member pode originar diversos sprites
sendo cada um com suas propriedades de tamanho posiccedilatildeo nostage opacidade tinta etc
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 13
Os canais do score
Como representado na figura abaixo existem algunscanais para controlar sprites no score O primeiro eacute relativo aotempo o seguinte agraves palletes de cor o outro agraves transiccedilotildees deframes Tem-se ainda o controle individual dos 2 canais deaacuteudio e o script de cada frame executado cada vez que aexecuccedilatildeo do filme chega neste
O canal Tempo controla efeitosde tempo e cue points de aacuteudio
O canal Palete eacute importantequando se trabalha com 256 cores
ou menos
O canal Transiccedilatildeo define efeitosde mudanccedila entre frames
Canais de som no score (maioresdetalhes seratildeo vistos adiantes)
Frame script - define o script Lingoque seraacute executado quando o movie
estiver sobre aquele frame
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 14
Com a tabela abaixo pode-se referenciar vaacuterios tipos de miacutediasatraveacutes da visualizaccedilatildeo dos indicativos das mesmas
Cast Member Descriccedilatildeo da Miacutedia1 Bitmap2 Pallete de cor3 Efeito da Intel4 Fonte5 Cursor6 Gif animada7 Vector shape8 Flash movie9 Botatildeo10 Field11 Text12 Movie script13 Parent script14 Behavior15 Viacutedeo digital AVI16 Aacuteudio interno17 Aacuteudio linkado18 SWA
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 15
3 - Trabalhando com Sprites
Neste capiacutetulo inicia-se a parte da organizaccedilatildeo domaterial Na verdade uma animaccedilatildeo eacute tatildeo somente a definiccedilatildeode instruccedilotildees para cada elemento componente do filme e umcomplexo aplicativo de multimiacutedia eacute apenas a integraccedilatildeo devaacuterias miacutedias
A princiacutepio um sprite precisa ser devidamenteorganizado em um lugar do score Deveraacute tambeacutem estarassociado a ele (eventualmente) um coacutedigo de instruccedilotildees essecoacutedigo que na verdade eacute uma linguagem proacutepria do Directorchama-se Lingo Veremos que algumas animaccedilotildees podem serfeitas sem que seja necessaacuterio escrever-se uma uacutenica linha decoacutedigo
Criando sprites
Quando um cast member eacute arrastado e solto sobre umcanal do score eacute criado um sprite com duraccedilatildeo de 28 frames(isso eacute o default mas pode ser modificado para o nuacutemerodesejado) ou entatildeo caso o mesmo jaacute exista pode-se arrastar abarra em uma das extremidades colocando-a do tamanho emFrames que se desejar
Arraste e solte aextremedidade posterior dosprite para definir ateacute em
que frame ele estaraacutepresente
ou defina os nuacutemeros dosframes iniciais e finais
diretamente na respectivacaixa de texto
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 13
Os canais do score
Como representado na figura abaixo existem algunscanais para controlar sprites no score O primeiro eacute relativo aotempo o seguinte agraves palletes de cor o outro agraves transiccedilotildees deframes Tem-se ainda o controle individual dos 2 canais deaacuteudio e o script de cada frame executado cada vez que aexecuccedilatildeo do filme chega neste
O canal Tempo controla efeitosde tempo e cue points de aacuteudio
O canal Palete eacute importantequando se trabalha com 256 cores
ou menos
O canal Transiccedilatildeo define efeitosde mudanccedila entre frames
Canais de som no score (maioresdetalhes seratildeo vistos adiantes)
Frame script - define o script Lingoque seraacute executado quando o movie
estiver sobre aquele frame
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 14
Com a tabela abaixo pode-se referenciar vaacuterios tipos de miacutediasatraveacutes da visualizaccedilatildeo dos indicativos das mesmas
Cast Member Descriccedilatildeo da Miacutedia1 Bitmap2 Pallete de cor3 Efeito da Intel4 Fonte5 Cursor6 Gif animada7 Vector shape8 Flash movie9 Botatildeo10 Field11 Text12 Movie script13 Parent script14 Behavior15 Viacutedeo digital AVI16 Aacuteudio interno17 Aacuteudio linkado18 SWA
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 15
3 - Trabalhando com Sprites
Neste capiacutetulo inicia-se a parte da organizaccedilatildeo domaterial Na verdade uma animaccedilatildeo eacute tatildeo somente a definiccedilatildeode instruccedilotildees para cada elemento componente do filme e umcomplexo aplicativo de multimiacutedia eacute apenas a integraccedilatildeo devaacuterias miacutedias
A princiacutepio um sprite precisa ser devidamenteorganizado em um lugar do score Deveraacute tambeacutem estarassociado a ele (eventualmente) um coacutedigo de instruccedilotildees essecoacutedigo que na verdade eacute uma linguagem proacutepria do Directorchama-se Lingo Veremos que algumas animaccedilotildees podem serfeitas sem que seja necessaacuterio escrever-se uma uacutenica linha decoacutedigo
Criando sprites
Quando um cast member eacute arrastado e solto sobre umcanal do score eacute criado um sprite com duraccedilatildeo de 28 frames(isso eacute o default mas pode ser modificado para o nuacutemerodesejado) ou entatildeo caso o mesmo jaacute exista pode-se arrastar abarra em uma das extremidades colocando-a do tamanho emFrames que se desejar
Arraste e solte aextremedidade posterior dosprite para definir ateacute em
que frame ele estaraacutepresente
ou defina os nuacutemeros dosframes iniciais e finais
diretamente na respectivacaixa de texto
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 14
Com a tabela abaixo pode-se referenciar vaacuterios tipos de miacutediasatraveacutes da visualizaccedilatildeo dos indicativos das mesmas
Cast Member Descriccedilatildeo da Miacutedia1 Bitmap2 Pallete de cor3 Efeito da Intel4 Fonte5 Cursor6 Gif animada7 Vector shape8 Flash movie9 Botatildeo10 Field11 Text12 Movie script13 Parent script14 Behavior15 Viacutedeo digital AVI16 Aacuteudio interno17 Aacuteudio linkado18 SWA
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 15
3 - Trabalhando com Sprites
Neste capiacutetulo inicia-se a parte da organizaccedilatildeo domaterial Na verdade uma animaccedilatildeo eacute tatildeo somente a definiccedilatildeode instruccedilotildees para cada elemento componente do filme e umcomplexo aplicativo de multimiacutedia eacute apenas a integraccedilatildeo devaacuterias miacutedias
A princiacutepio um sprite precisa ser devidamenteorganizado em um lugar do score Deveraacute tambeacutem estarassociado a ele (eventualmente) um coacutedigo de instruccedilotildees essecoacutedigo que na verdade eacute uma linguagem proacutepria do Directorchama-se Lingo Veremos que algumas animaccedilotildees podem serfeitas sem que seja necessaacuterio escrever-se uma uacutenica linha decoacutedigo
Criando sprites
Quando um cast member eacute arrastado e solto sobre umcanal do score eacute criado um sprite com duraccedilatildeo de 28 frames(isso eacute o default mas pode ser modificado para o nuacutemerodesejado) ou entatildeo caso o mesmo jaacute exista pode-se arrastar abarra em uma das extremidades colocando-a do tamanho emFrames que se desejar
Arraste e solte aextremedidade posterior dosprite para definir ateacute em
que frame ele estaraacutepresente
ou defina os nuacutemeros dosframes iniciais e finais
diretamente na respectivacaixa de texto
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 15
3 - Trabalhando com Sprites
Neste capiacutetulo inicia-se a parte da organizaccedilatildeo domaterial Na verdade uma animaccedilatildeo eacute tatildeo somente a definiccedilatildeode instruccedilotildees para cada elemento componente do filme e umcomplexo aplicativo de multimiacutedia eacute apenas a integraccedilatildeo devaacuterias miacutedias
A princiacutepio um sprite precisa ser devidamenteorganizado em um lugar do score Deveraacute tambeacutem estarassociado a ele (eventualmente) um coacutedigo de instruccedilotildees essecoacutedigo que na verdade eacute uma linguagem proacutepria do Directorchama-se Lingo Veremos que algumas animaccedilotildees podem serfeitas sem que seja necessaacuterio escrever-se uma uacutenica linha decoacutedigo
Criando sprites
Quando um cast member eacute arrastado e solto sobre umcanal do score eacute criado um sprite com duraccedilatildeo de 28 frames(isso eacute o default mas pode ser modificado para o nuacutemerodesejado) ou entatildeo caso o mesmo jaacute exista pode-se arrastar abarra em uma das extremidades colocando-a do tamanho emFrames que se desejar
Arraste e solte aextremedidade posterior dosprite para definir ateacute em
que frame ele estaraacutepresente
ou defina os nuacutemeros dosframes iniciais e finais
diretamente na respectivacaixa de texto
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 16
Film loops
Muito usado em animaccedilotildees geralmente em conjuntocom o Tweening Imagine que se queira fazer um bonecocaminhando de um ponto a outro da tela ou mesmo a rotaccedilatildeoda terra em conjunto com uma translaccedilatildeo O Film loop eacute o queo proacuteprio nome indica Apoacutes definida uma sequumlecircncia deimagens pode-se criar um loop de filme e trabalhar com elecomo se fosse uma uacutenica imagem mas ao criar-se ummovimento com este ele executaraacute aleacutem da animaccedilatildeo (quepode ser o Tweening) o loop determinado Um exemplo dissopode ser o movimento de um paacutessaro suas asas batemenquanto ele se move sobre o stage o bater de asas pode serum film loop e ele seraacute tratado pelo Director como um bitmapcomum com a diferenccedila que ao inveacutes de mostrar uma imagemestaacutetica mostraraacute uma animaccedilatildeo
Criando um film loop
Selecione a sequumlecircncia de frames desejada EscolhaInsert Film Loop Defina um nome para ele e clique okApoacutes criado o Film Loop o mesmo apareceraacute como um castmember independente apesar de natildeo o ser Pode-se apagar asequumlecircncia de frames que o gerou no Score ou no Stage masnatildeo pode-se apagar os cast members que lhe deram origemUma vez criado um frame loop pode-se fazer qualqueranimaccedilatildeo como se ele fosse uma imagem comum
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 17
________________________________
Lingo
bull Onde se localiza o Lingobull Caminhos para se acessar os
scriptsbull Alguns eventos em Lingobull A janela Watcherbull Eventosbull Sprite Scriptbull CastMember Scriptbull Localizaccedilatildeo e Propriedades
da Janela de Scriptsbull Eventos do Mousebull Funccedilotildees relacionais ao
Ponteiro do Mousebull Comando IFbull Comando Casebull Uso e Controle de um MIAWbull Controlando aacuteudio e viacutedeo
digital com Lingo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 18
Onde se localiza o Lingo
Esse capiacutetulo eacute de extrema importacircncia e seu completoentendimento eacute fundamental para um bom desenvolvedor
Os scripts de Lingo podem variar-se quanto a sualocalizaccedilatildeo e tipo das seguintes maneiras
Sprite Script Como scripts de sprites sendo esteo meacutetodo mais usado para spritespodemos aplicar muacuteltiplosBehaviors (comportamentos) a umasprite
Cast members Scripts Como script de um cast membersendo que este castMember ao viraruma sprite teraacute um mesmocomportamento durante toda suavida uacutetil no Score e natildeo soacute nosframes determinados (sprite Script)
Frame Script Definido na barra de script do scoreeacute ele que determina ocomportamento daquele Frame oudefine o fluxo da apresentaccedilatildeo
Movie Script Este eacute o lugar aconselhaacutevel paracriaccedilotildees de funccedilotildees definiccedilatildeo devariaacuteveis comportamento inicialframe a frame e final do programaou seja a programaccedilatildeo em Lingo
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 19
Diferenccedilas entre Sprite Script eCastMember Script
Sprite Script
Quando aplicamos um script a uma sprite como SpriteScript este teraacute efeito quando algo ocorrer na sprite e apenas nasprite que foi aplicado Como no exemplo foi aplicado oBehavior ldquoclick_spriterdquo na sprite 1
Observe aindicaccedilatildeo de
Behavior paravisualizaccedilatildeo
dos Behaviorsaplicados aos
Sprites
Behavior aplicadoao Sprite 1
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 20
CastMember Script
Quando definimos um CastMember Script a umCastMember o script estaraacute ativo quando este castMember forarrastado para o Stage ou para o Score virando uma sprite comum CastMember Script vinculado
Esta indicaccedilatildeo representaum CastMember Scriptpara um CastMember
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 21
Localizaccedilatildeo e Propriedades da Janelade Scripts
O titulo da janela ldquoScript of Cast Member 1Morcegordquoestaacute nos informando que o script eacute do tipo CastMember Script eeste esta vinculado ao CastMember 1 ldquoMorcegordquo do CastInternal
A Lista de Scripts apresenta o Evento corrente doCastMember Script assim como uma relaccedilatildeo de Rotinas eFunccedilotildees de outros CastMembers contendo Scripts
Evento doCastMember Script
Lista de Scripts Nome da Rotina
CastMember Cast
Indicaccedilatildeo deCastMember Script
Movie script
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 22
Cria um novoCastMemberno formato
MovieScripts
Proacuteximo CastMembercontendo Scripts
CastMember Anteriorcontendo Scripts
Propriedades doCastMember
Nome doCast
Nome do Evento corrente doCastMember Scripts
Nuacutemero doCastMember
Nome doCastMember
Acessa o coacutedigoda Rotina ou
FunccedilatildeoVocecirc deve
selecionar onome da rotina
antes de clicar nobotatildeo
Insere comentaacuteriosna linha corrente ou
nas linhas
selecionadas
Remove oscomentaacuterios da linha
corrente ou daslinhas selecionadas
Selecione um comandooperador ou funccedilatildeo Lingo em
ordem alfabeacutetica
Selecione um comandooperador ou funccedilatildeo Lingoclassificado por toacutepicos
Faz a recompilaccedilatildeo detodos os Scripts assimcomo a busca de erros
de sintaxe
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 23
Eventos e Funccedilotildees relacionais aoPonteiro do Mouse
Eventos do Mouse Funccedilotildees relacionais ao Ponteiro do Mouse Cursor do Mouse
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 24
Comando IF
IF talvez seja um dos comandos mais usados em umprograma seja ela em que linguagem for eacute ele que determinase o fluxo do programa vai seguir por um lado ou pelo outro
Convenccedilotildees preliminares
Natildeo importa o tatildeo complexa seja a expressatildeo loacutegica ouquantas variaacuteveis ela tenha vamos apenas obter 2 valores TRUE ou FALSE podemos traduzir como Verdadeiro ouFalso mas o mais certo eacute dizer 1 ou 0
Nas expressotildees loacutegicas podemos usar o gt (maior) lt(menor) = (igual) ltgt (diferente) NOT (negaccedilatildeo) AND ORetc
O NOT significa que ele vai inverter o estado loacutegico daexpressatildeo por ex NOT TRUE significa FALSE
Sintaxe do IF
if expressatildeo_loacutegica then Comando(s)else Comando(s)end if
ou
if expressao_logica then comando
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 25
Comando Case
O comando case do Director eacute muito semelhante aodas outras linguagens ele testa a expressatildeo e a compara com asexpressotildees seguidas
Sintaxe
case expressatildeo of expressao1 comando(s) expressao2 comando(s) expressao3 expressao4 comando(s) expressaoN comando(s) otherwise comando(s)end case
Seu funcionamento eacute bem simples caso a expressatildeoseja igual a uma das expressotildees a baixo do case ele executa odevido comando(s) caso as expressotildees natildeo coincidam com aexpressatildeo ele executa o comando(s) do otherwise
Alguns exemplos
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 26
Uso e Controle de um MIAW
Movie In a Window mais conhecido como MIAWgeralmente eacute usado para rodar outro movie enquanto o movieprincipal continua sendo executado por exemplo o movieprincipal poderia ser um programa de tratamento de imagens eo MIAW poderia ser a barra de ferramentas para o programa
Temos completo controle sobre um MIAW desde suavisibilidade posiccedilatildeo na tela tamanho da janela tipo de janelatitulo da janela troca de informaccedilotildees entre o movie principal eo MIAW entre outros comandos via Lingo
Exemplo de abertura de um MIAW No exemplo a baixo abrimos uma janela chamada
ferramentas a partir do arquivo ldquojanela_ferramentasdirrdquolocalizado no raiz do drive D setamos seu tamanho e aposiccedilatildeo atraveacutes do comando ldquothe rect of windowrdquo esta janelaseraacute apresentada sem barra de tituloon abrir_janela_ferramentas set the fileName of window ferramentas to the pathName ampldquojanela_ferramentasdirrdquo set the rect of window ferramentas to rect(0 0 250 200) set the titleVisible of window ferramentas to FALSE open window ferramentasend
Descriccedilatildeo dos comandos Lingo para abertura econtrole de um MIAW
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 27
Controlando aacuteudio e viacutedeo digital comLingo
Um dos elementos mais importantes da multimiacutedia eacute oaacuteudio Costuma-se dizer que ele chega a representar 50 daimportacircncia das miacutedias em um CD-ROM Realmente quando oobjetivo eacute criar multimiacutedia fica difiacutecil imaginar esta sem bonsrecursos de som Seja em CD-ROM em Shockwave ou mesmoJava o uso adequado de aacuteudio pode melhorar em muito umaapresentaccedilatildeo interativa
Falar em aacuteudio e viacutedeo digital eacute tema para muitas emuitas paacuteginas por isso esse assunto seraacute tratado de formasucinta mas abrindo porta para que o leitor busque maioresinformaccedilotildees agrave medida que precisar
Sobre o aacuteudio
Inicialmente devemos levar em conta o que desejamosfazer Se eacute um CD-ROM em qual plataforma ele seraacuteexecutado (PC ou Mac) que qualidade de aacuteudio deveraacute seradotada haveraacute necessidade de sincronismo com animaccedilotildeesexistiraacute algum arquivo baixado via Internet
Essas questotildees jaacute devem estar definidas antes que asmiacutedias sejam digitalizadas Devemos escolher o melhorformato de aacuteudio que atenda agraves necessidades do projeto e natildeoapenas o melhor formato de aacuteudio Por exemplo para que vocecircusaria uma wav de 44Khz 16 bits esteacutereo para uma simplesnarrativa se a voz humana estaacute numa faixa de frequumlecircncias bemmenor e eacute monofocircnica ou para que usar uma wav em umaapresentaccedilatildeo Shockwave para tocar uma trilha musical sepodemos usar o swa
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 28
Vamos definir os principais tipos de aacuteudio usados como Director 7 isso serviraacute para esclarecer algumas duacutevidasfrequumlentemente presentes em foacuteruns de discussatildeo e listas pelaInternet
WAV Padratildeo do Windows normalmente eacute usada emsoftwares que funcionaratildeo sob Windows A qualidadeescolhida dependeraacute da utilizaccedilatildeo lembre-se que otamanho eacute diretamente proporcional agrave qualidade umarquivo em 22khz 8 bits mono teraacute 14 do tamanhode um arquivo com a mesma duraccedilatildeo a 22khz 16 bitse esteacutereo Suporta Cue Points que tenham sido geradoscom o software Sound Forge 4 ou superior
AIF Padratildeo do Mac Funciona bem mesmo no WindowsMuito semelhante em tamanho e qualidade ao WAVSuporta Cue Points sendo que eacute necessaacuterio o softwareSoundEdit 16 (existente somente para Mac)
AU Padratildeo da Sun Essa extensatildeo eacute usada principalmentepara apresentaccedilotildees convertidas para JAVA Natildeosuporta Cue Points
SWA Criado pela Macromedia para ser usado principalmenteem aplicaccedilotildees que ocupem pouco espaccedilo (por exemploShockwave) Trata-se de um formato compactadomuito semelhante ao MP3 (mesma qualidade ecompactaccedilatildeo) Sua semelhanccedila chega ao ponto de quese for renomeado para mp3 funciona perfeitamenteem um player do mesmo Natildeo aceita Cue Points
MP3 O Director 7 aceita importar arquivos MP3 anecessidade de sua utilizaccedilatildeo deveraacute ser avaliada comcautela sendo mais recomendaacutevel utilizar-se do padratildeocompactado swa Tambeacutem natildeo aceita Cue Points
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 29
Obs
Cue Points satildeo marcadores nas trilhas de aacuteudio quepermitem informar ao movie em que ponto exato da trilha seestaacute permitindo um perfeito sincronismo entre aacuteudio eanimaccedilotildees
Exemplo de locaccedilatildeo de Cue Point (marcadores 1 e 2) usando osoftware Sound Forge 40
O gerenciamento de Cue Points eacute de extremaimportacircncia mais adiante esse assunto seraacute novamenteabordado quando se falar do comando cuePassed
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 30
Um arquivo de som eacute tratado como uma miacutedia qualquerquanto agrave importaccedilatildeo poreacutem existe uma diferenccedila quanto agrave sualocalizaccedilatildeo no score Quando importar um aacuteudio de tamanhosignificativo eacute conveniente trazecirc-lo para um cast externoimportando-o internamente para este O motivo eacute simples sefosse importado para o cast interno o tamanho do projetor seriademasiadamente grande (eacute conveniente limitar seu tamanhopara poucos megabytes) se ele fosse importado com link toexternal file o arquivo de aacuteudio seria visiacutevel e isso eacutedeselegante para um programador em Lingo Um cast externo eacuteo lugar mais conveniente para abrigar arquivos de aacuteudioInfelizmente natildeo se pode dizer o mesmo para viacutedeos digitaispois estes sempre estaratildeo linkados externamente sendorecomendaacutevel por razotildees esteacuteticas que seja criado uma pastapara abrigar esses viacutedeos
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 31
Controlando Aacuteudio em um movie
Os arquivos de aacuteudio normalmente estaratildeo dentro decasts Isso eacute recomendaacutevel e salvo necessidade especiacuteficarecomenda-se que esteja em um cast externo
Os formatos aif wav au e swa satildeo totalmentecompatiacuteveis com o Director 7 Ateacute a versatildeo 65 os arquivosswa eram tratados de forma diferente poreacutem isso jaacute natildeoacontece no D7
Considerando-se que o arquivo de aacuteudio jaacute esteja emalgum cast observa-se 3 maneiras de se ativar esse som1 - Traz-se o cast member (clicando e arrastando) ateacute um dosdois canais de aacuteudio no score Ele apareceraacute como spriteporeacutem no canal de aacuteudio exclusivamente Quando o filme forexecutado enquanto o header (indicador vermelho) estiver emframe adjacente ao aacuteudio ele seraacute ativado (da mesma formaque um bitmap seria mostrado) a menos que algum comandoLingo o desative propositalmente2 - Usando o comando sound playFile eacute possiacutevel controlar-se oaacuteudio diretamente via Lingo Existem vaacuterias vantagens do usodo Lingo sobre o processo citado anteriormente Imagine quedez bototildees situados em um mesmo frame emitem sons cadaum diferente do outro Vocecirc simplesmente colocaraacute o coacutedigoLingo associado a cada arquivo de aacuteudio em seu respectivobotatildeo Outra como fazer mais de dois sons tocaremsimultaneamente Basta acionar cada som em um canaldiferente Os canais existem aleacutem dos 2 canais mostrados noscore e pode-se Ter por exemplo um paacutessaro cantando nocanal 1 enquanto um riacho utiliza o canal 2 e uma vaca mugeno canal 3 Cuidado para natildeo confundir canal de som noDirector com canais de aacuteudio comuns Um som esteacutereo possuidois canais mas natildeo significa que utilizaraacute dois canais doDirector Um som estereofocircnico ocupa um uacutenico canal doDirector mesmo que soe esteacutereo nas caixas acuacutesticas
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 32
Observe que apesar da simplicidade mostrada acimaos recursos satildeo limitados usando-se simplesmente o canalTempo do score Para um melhor gerenciamento dos cuePointseacute necessaacuterio o Lingo A seguir satildeo mostrados alguns exemplosdo uso de cuePoint controlado via Lingo
O handler abaixo coloca em uma caixa de mensagem asinformaccedilotildees referentes aos cuePoints presentes no canal 1 doaacuteudio
on cuePassed channel number name if (channel = Sound1) then put CuePoint ampamp number ampamp named ampamp name ampampoccurred in sound 1 end ifend
Arquivo desom no cast
Caso o outro canaltambeacutem esteja
ocupado escolha umdeles aqui
Canal Tempo (decircduplo clique para
acessar propriedades)
Som ocupandocanal 1 do score
Os cuePoints do canalespecificado aparecem
nesta listagem
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 33
Controlando viacutedeo digital
Apoacutes escolher-se um arquivo de viacutedeo digital para aimportaccedilatildeo (lembre-se sempre de definir a importaccedilatildeo paralink to external file) uma opccedilatildeo surge com alternativa paraAVI ou MOV lembre-se que um MOV no Windows sempreprecisaraacute de QuickTime para visualizaccedilatildeo Se vocecirc estivertrabalhando em um projeto unicamente para Windows e natildeovai utilizar nenhum recurso de QTVR (Quick Time VirtualReality) recomenda-se sempre o uso do tipo AVI com codecCinepak ou Intel Indeo 32
Observaccedilotildees
QTVR eacute uma tecnologia desenvolvida pela Apple paraemulaccedilatildeo de realidade virtual em viacutedeo Atualmente eacutenecessaacuterio um software desenvolvido pela Apple chamadoQuick Time VR e compatiacutevel com Mac somente
Viacutedeos digitais no padratildeo MPeg satildeo compatiacuteveis com oDirector mas necessitam de Xtras fornecidos por outrosfabricantes (consulte a lista de Xtras da Macromedia em seusite)
No QuickTime versatildeo 212 ou mais recente eacute possiacutevelter-se mais de uma trilha de aacuteudio em um mesmo viacutedeo digitale controlaacute-la via Lingo Isso pode ser muito uacutetil quando setrabalha em vaacuterios idiomas por exemplo Pode-se ativardeterminada trilha de aacuteudio checar qual trilha estaacute ativa contaro nuacutemero de trilhas existentes em determinado viacutedeo etc Paramaiores detalhes consulte o help do Director usando aspalavras chave trackCount trackType trackTexttrackEnabled setTrackEnabled trackStartTimetrackStopTime) Arquivos AVI natildeo suportam muacuteltiplas trilhasateacute a presente versatildeo
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 34
Os controles de viacutedeo play pause ff rew etcpodem ser definidos em bototildees usando scripts Lingo comomostrado abaixo
play sprite(X)movieRate = 1
pause sprite(X)movieRate = 0
slow sprite(X)movieRate = 05
ff sprite(X)movieRate = 2
roda o filme ao reverso sprite(X)movieRate = -1
volta o filme ao iniacutecio sprite(X)movieTime = 0
Obs
Use esses comandos associados a bototildees e dentro de umhandler on mouseUp para definir controles simples de viacutedeodigital
Quando um viacutedeo digital termina eacute comum encontrar-se resiacuteduos sobre a tela Para resolver esse problema use oseguinte script para um perfeito refresh sobre a tela
on exitFrame sprite(X)movieRate=0 sprite(X)visible=FALSE updateStage sprite(X)visible=TRUEend
Onde X eacute o nuacutemero do sprite referente ao viacutedeo digital
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 35
________________________________
Behaviors preacute-definidos
bull Behaviors de Formulaacuterio(Formscst)
bull Behaviors Multiusuaacuterios(Multiusercst)
bull Behaviors Streaming(Streamingcst)
bull Multiuser Serverbull Client-Director Multiuser
Serverbull Peer-to-peerbull Client-to-text-based-serverbull Como criar chats e outros
aplicativos multiusuaacuteriosbull Grupo Navigation
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 36
A Macromedia disponibiliza alguns behaviors preacute-fabricados para facilitar a programaccedilatildeo com rotinas que serepetem com frequumlecircncia Esses behaviors satildeo muito uacuteteis edificilmente um filme natildeo usaraacute pelo menos um desses scriptsDevido a facilidade de uso eacute possiacutevel ateacute mesmo que umprogramador inexperiente use de recursos mais avanccedilados doLingo Estes behaviors estatildeo dispostos em Casts externosconvenientemente mas natildeo eacute necessaacuterio abri-los para se teracesso a seus scripts O conceito de Behavior preacute-fabricadocomeccedilou com a versatildeo 60 do Director trazendo inuacutemerasrotinas prontas para uso bastando apenas clicar e arrastar parauma sprite ou para o Stage(frameScript) gerando assim umComportamento a sprite ou ao frameScriptPodemos acessar atraveacutes do menu Window Library Paletteuma janela contendo inuacutemeros Behavior para uso
Obs
Os behaviors apresentados aqui compotildee o softwareDirector 7 natildeo estando presente em versotildees anteriores
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 37
Preparando um CD para distribuiccedilatildeo
Considerando-se o teacutermino de um projeto ou sejaque o projetor e todos os seus componentes jaacute tenham sidotestados e ldquore-testadosrdquo inclusive em CDRs passa-se agraveetapa seguinte Esta etapa eacute a implementaccedilatildeo final para adistribuiccedilatildeo aos usuaacuterios A seguir seraacute apresentado oimprescindiacutevel
1 - Editando o iacutecone de seu projetor
Sempre que um projetor eacute gerado um iacutecone padratildeo doDirector eacute inserido no projetor Esse iacutecone natildeo aparece nosarquivos protegidos pois os mesmos natildeo teratildeo autonomia emnenhuma maacutequina (sempre estaratildeo vinculados ao projetorprincipal)
O iacutecone inserido no projetor pode ser alterado dealgumas maneiras e eacute altamente recomendaacutevel alteraacute-lo porquestatildeo de profissionalismo embora isso natildeo influencie naexecuccedilatildeo do software
A maneira mais usual recomendada ateacute mesmo pelaproacutepria Macromedia em seu site eacute o uso do software de ediccedilatildeode iacutecones chamado Microangelo (homenagem ao artistaMichelangelo Buonarotti) Este software pode ser baixado dehttpwwwimpactsoftcom (shareware) e alia simplicidade auma boa funcionalidade Ele permite uma boa ediccedilatildeo de iacuteconese a troca de iacutecones de executaacuteveis como os projetores criadosno Director
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 38
2 - Instalaccedilatildeo do software
Antes de finalizar um software para areplicaccedilatildeodistribuiccedilatildeo eacute conveniente preparaacute-lo de modo afacilitar sua instalaccedilatildeo pelo usuaacuterio final O Director possuiuma vantagem em relaccedilatildeo agrave maioria dos softwares de autoriaque eacute a possibilidade de ser executado inteiramente de dentrodo cd sem que seja necessaacuterio instalar-se qualquer arquivopara o HD do usuaacuterio Embora essa facilidade existaeventualmente pode-se fazer necessaacuterio copiar-se certosarquivos que necessitem de alteraccedilotildees ou mesmo pode-se fazerconveniente a adiccedilatildeo de atalhos para os executaacuteveis do CD-ROM
Existem algumas opccedilotildees quanto a isso
Softwares como InstallShield ou o Setup Factory(httpwwwindigorosecom) podem ser usados normalmenteprincipalmente quando se fizer necessaacuterio a ediccedilatildeo de arquivosini existente ou verificaccedilatildeo do hardware eou softwarespresentes na maacutequina do usuaacuterio
Tela capturada do installer Setup Factory
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 39
Listas
Listas (lists) nada mais satildeo do que matrizes (tambeacutemchamada arrays na maioria das linguagens) ou seja umaldquovariaacutevelrdquo que pode conter diversos elementos Esteselementos aparecem dentro de colchetes e satildeo separados porviacutergulas no Lingo
Ao contraacuterio de certas linguagens natildeo eacute necessaacuterioespecificar um determinado espaccedilo de memoacuteria para umalista no Lingo pois isso eacute feito automaticamente agrave medida donecessaacuterio Outro diferencial agraves outras linguagens deprogramaccedilatildeo eacute que o nuacutemero referente ao primeiro elementode uma lista eacute ldquo1rdquo e natildeo ldquo0rdquo como em outras linguagensListas de Propriedades (property lists) Alguns exemplos de listas de propriedades Criando listas Exemplos de declaraccedilatildeo de listas Exemplo de um movie usando lista (rastro de umsprite)Uma agenda telefocircnica simples
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 40
Programaccedilatildeo Orientada a Objetos ampParent Scripts
(conceitos baacutesicos)
Ao contraacuterio do que se pensa a linguagem Lingo natildeoeacute orientada a objetos mas pode-se dizer que a mesma suportauma programaccedilatildeo orientada a objetos
Orientaccedilatildeo a objetos (OO) natildeo vem a ser umalinguagem e sim um conceito de programaccedilatildeo Trata-se deum complexo sistema dentro de discretas subsecccedilotildees que satildeochamadas objetos A essecircncia da programaccedilatildeo orientada aobjetos eacute esse conteuacutedo unitaacuterio que coopera e comunica comcada outro pensamento atraveacutes de protocolos dizendo o quefazerAlgumas vantagens da OO O Lingo possui 3 fatores que facilitam a OO The birth function Criando um child object proveniente de um parentScript Um parent script muito simples
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabrcio Guedes Bissoli e Julio Francisco Planella Gonzalez 41
Definiccedilotildees Baacutesicas
Lingo Rotina Funccedilatildeo Declaraccedilatildeo de variaveis Atribuiccedilatildeo de Valores a Variaacuteveis Comentaacuterios no Lingo Entrada e Saiacuteda de Valores de uma funccedilatildeo
Strings conceitos fundamentaisComandos e Funccedilotildees para trabalhar com Strings
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
Por Fabriacutecio Guedes Bissoli e Julio Francisco Planella Gonzalez 42
Lingo - Dicas uacuteteis
1 - criando efeito de fade in e fade out sobre umaimagem 2 - Encaixando sprites 3 - Salvando um arquivo txt com o Xtra FileIO 4 - Lendo o conteuacutedo de um arquivo txt com o XtraFileIO 5 - Abrindo um MIAW de 640X480 sobre configuraccedilatildeode 800X600 6- Exportando cast members como JPEGs usando osproacuteprios Xtras do Director 7
top related