Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

Programando em NCL 3.0.pdf - Telemidia - PUC-Rio Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

telemidia.puc.rio.br
from telemidia.puc.rio.br More from this publisher
11.07.2015 Views

tanto, vamos colocar o elemento “choro” do tipo áudio e oselementos “imgChorinho”, “imgRock”, “imgTechno” e“imgCartoon”, do tipo imagem, dentro (como filhos) de um elemento “menu”. Vamos também colocar cinco elementos , cada ummapeando para cada um dos novos elementos definidos. Comorealizar uma ação “start” em um contexto sem especificar a porta significaque todas as portas devem receber a ação, bastará termos um relacionamentoespecificando o “start” do elemento “menu” para que todos osícones sejam apresentados e o chorinho iniciado, como queríamos.Continuando com nosso cenário, vamos estabelecer que, em qualquerinstante em que um dos ícones for acionado, com exceção do ícone dochorinho, o chorinho terá seu volume colocado em “zero” (mudo), o ritmocorrespondente ao ícone selecionado iniciará sua apresentação e os demaisritmos serão abruptamente terminados. A qualquer momento que o ícone dochorinho for selecionado, os demais ritmos cessarão e o áudio do choro serárestabelecido em seu valor inicial.Para conseguirmos o efeito descrito no parágrafo anterior maisfacilmente, vamos reunir os três áudios (elementos “rock”, “techno”e “cartoon”) em um elemento , identificado como “musics”, ecolocá-lo também como filho do elemento “menu”. O elemento terá uma porta (elemento ) mapeada para os trêselementos de mídia representando os áudios, que serão escolhidos conforme ovalor do atributo focusIndex do elemento representando o íconeassociado ao ritmo que foi selecionado pela tecla ENTER do controle remoto.Para tanto, a variável global “service.currentFocus” (uma propriedade do nósettings por nós já discutido) será consultada. Essa variável é mantida pelosistema exibidor da aplicação NCL, contendo sempre o valor do atributofocusIndex corrente.Quando quisermos parar todos os elementos filhos do elemento “menu”, bastará realizar uma ação “stop” sobre o contexto, semespecificar nenhuma porta. Na nova versão da aplicação, vamos querer queisso aconteça quando o vídeo da animação atingir o ponto em que sãoapresentados os créditos dos autores (elemento “segCred”). AListagem 3.45 ilustra a definição do elemento que permite esseprocedimento.114

Listagem 3.45 Finalização de todos os elementos em exibição do contexto “menu”.Teremos, então, a visão estrutural ilustrada na Figura 3.18 para essanova versão de O Primeiro João.StartStartonBeginonBeginonBeginonEndonBeginStopStartStopStartStopContexto deInteratividadeSetpositionContexto dePropagandaonSelectionSet vol.Set vol.chorinhoStopStoponSelectionStartcurrentFocus = ?rock techno cartoonFigura 3.18 Visão estrutural de O Primeiro João com navegação por teclas.Note pela Figura 3.18 que a seleção de qualquer um dos três ícones,“imgRock”, “imgTechno” ou “imgCartoon”, coloca o volume do chorinho emzero, para a exibição dos demais áudios e inicia a apresentação do áudiocorrespondente ao foco corrente, ou seja, ao áudio associado ao íconeselecionado.Para definir o elemento “menu”, novas regras de seleçãodevem ser definidas no elemento que, em sua nova versão, seguea especificação ilustrada na Listagem 3.46. Note que as novas regrasintroduzidas dizem respeito à variável “service.currentFocus”, que terá seuvalor testado contra o valor do atributo focusIndex de cada um dos íconesassociados aos elementos representando os vários ritmos. A regra éconsiderada satisfeita se houver igualdade entre os valores.115

Listag<strong>em</strong> 3.45 Finalização de todos os el<strong>em</strong>entos <strong>em</strong> exibição do contexto “menu”.Ter<strong>em</strong>os, então, a visão estrutural ilustrada na Figura 3.18 para essanova versão de O Primeiro João.StartStartonBeginonBeginonBeginonEndonBeginStopStartStopStartStopContexto deInteratividadeSetpositionContexto dePropagandaonSelectionSet vol.Set vol.chorinhoStopStoponSelectionStartcurrentFocus = ?rock techno cartoonFigura 3.18 Visão estrutural de O Primeiro João com navegação por teclas.Note pela Figura 3.18 que a seleção de qualquer um dos três ícones,“imgRock”, “imgTechno” ou “imgCartoon”, coloca o volume do chorinho <strong>em</strong>zero, para a exibição dos d<strong>em</strong>ais áudios e inicia a apresentação do áudiocorrespondente ao foco corrente, ou seja, ao áudio associado ao íconeselecionado.Para definir o el<strong>em</strong>ento “menu”, novas regras de seleçãodev<strong>em</strong> ser definidas no el<strong>em</strong>ento que, <strong>em</strong> sua nova versão, seguea especificação ilustrada na Listag<strong>em</strong> 3.46. Note que as novas regrasintroduzidas diz<strong>em</strong> respeito à variável “service.currentFocus”, que terá seuvalor testado contra o valor do atributo focusIndex de cada um dos íconesassociados aos el<strong>em</strong>entos representando os vários ritmos. A regra éconsiderada satisfeita se houver igualdade entre os valores.115

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!