43
Uma coletânea de informações indispensáveis e dicas quentes sobre o software de autoria em multimídia mais utilizado no mundo! Fabrício Guedes Bissoli Júlio Francisco Planella Gonzalez http://www.phasis.net [email protected] Nível Básico Intermed. Director is a trademark of Macromedia Inc. V. 1.0

Criando aplicativos multimídia com director 7 tambein engloba versoes 5, 6 e 6.5

Embed Size (px)

Citation preview

Page 1: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 2: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 3: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 4: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 5: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 6: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 7: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 8: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 9: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 10: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 11: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 12: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 13: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 14: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 15: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 16: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 17: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 18: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 19: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 20: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 21: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 22: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 23: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 24: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 25: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 26: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 27: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 28: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 29: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 30: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 31: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 32: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 33: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 34: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 35: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 36: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 37: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 38: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 39: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 40: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 41: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 42: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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

Page 43: Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6 e 6.5

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