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
• class: 'ncl'• type: 'attribution'• name: [string] — nome da propriedade associada ao evento• action: [string] — pode assumir os seguintes valores: 'start','stop', 'abort', 'pause' e 'resume'• value: [string] — novo valor a ser atribuído à propriedadeO campo action de um evento ncl (seja ele de apresentação ou atribuição)pode assumir os valores correspondentes aos seus tipos, como mostrado nasTabelas 10.6 e 10.7. No entanto, o nome das transições na Tabela 10.6 éusado sem o “s” final (“starts” vira “start”), de maneira a unificar a sintaxepara eventos recebidos ou sinalizados pelo NCLua.Exemplo 18.2 — Contador de CliquesVamos supor uma aplicação NCL que exiba um botão Clique aqui emquatro momentos diferentes. Se o usuário selecioná-lo com o controle remotopor pelo menos três vezes, ao final da apresentação será exibido o botão Vocêganhou, caso contrário será exibido o botão Você Perdeu. A Figura 18.4mostra as visões temporal e espacial da aplicação.cliquesarea01 area02 temp area03 area04aqui aqui aqui aqui∞resultado ∞ganhou∞perdeu∞visão temporalvisão espacialaquiganhouOUperdeuFigura 18.4 Visões temporal e espacial do Exemplo 18.2.Não é possível fazer a contagem de cliques puramente em NCL de formasimples, uma vez que não há suporte a expressões aritméticas na linguagem.Neste exemplo, usaremos um NCLua para contar e armazenar o número de382
cliques em uma propriedade, que será consultada ao final para determinar oresultado.O documento NCL mostrado a seguir define um temporizador (“temp”)com quatro âncoras temporais (“area01” até “area04”) durante as quais obotão Clique aqui é exibido. O temporizador também define uma âncoratemporal para exibir o resultado após o botão ser exibido por quatro vezes.Além do temporizador e os botões, o documento define um NCLuaresponsável pela contagem dos cliques e exporta a propriedade “contador”para manter esse valor. A Figura 18.5 mostra a visão estrutural da aplicação.pInicioresultadotemponBeginonEndarea01area02area03area04onBeginstartstopstoponEndstop( ... )aquiganhoustoponBeginstartstopstartonEnd onBeginonBeginonSelectionandtestcontador >= 3startandtestcontador < 3contadorincstartcliquesstartstopstopperdeuFigura 18.5 Visão estrutural do Exemplo 18.2.A porta de entrada da aplicação é o temporizador, que também dispara oNCLua por meio de um elo “onBeginStart”. Cada âncora de exibição dobotão Clique aqui possui um elo “onBeginStart” e “onEndStop” para o383
- Page 372 and 373: Se um elemento em exibição nessa
- Page 374 and 375: Queremos que, na nova versão do do
- Page 376 and 377: Listagem 15.6 O Primeiro João com
- Page 378 and 379: No entanto, devemos ressaltar: Não
- Page 380 and 381: Figura 15.5 Apresentação em um ú
- Page 382 and 383: 16.1 IntroduçãoO núcleo da máqu
- Page 384 and 385: elemento pode ser deixado inconsis
- Page 386 and 387: addRegion (baseId,documentId, regio
- Page 388 and 389: addInterface (baseId,documentId, no
- Page 390 and 391: 5. Adicionar uma região à base de
- Page 392 and 393: Suponha também que todos os arquiv
- Page 394 and 395: O descritor de evento terá a sinta
- Page 396 and 397: Tabela 16.11 Descritor de evento pa
- Page 398 and 399: 16.3.11 Fechar a Base Privada Abert
- Page 400 and 401: 17.1 Integrando Objetos Imperativos
- Page 402 and 403: Todos os requisitos explicitados no
- Page 404 and 405: sem especificar uma de suas âncora
- Page 406 and 407: Como todo exibidor de objeto de mí
- Page 408 and 409: playerLife pode permitir o reúso d
- Page 410 and 411: 18.1 A Linguagem LuaDesde o início
- Page 412 and 413: mecanismos de integração com o do
- Page 414 and 415: event.post {class = 'ncl',type = 'p
- Page 416 and 417: arquivo NCL que contém o objeto NC
- Page 418 and 419: pInicioonBeginstartonBeginlua1onEnd
- Page 420 and 421: 380-- 2.lua:function tratador (evt)
- Page 424 and 425: mesmo. Toda vez que o botão é sel
- Page 426 and 427: local contador = 0function tratador
- Page 428 and 429: local regLarg, regAlt = canvas:attr
- Page 430 and 431: pInicioluachegouonBeginstartganhouF
- Page 432 and 433: event.post {class = 'ncl',type = 'p
- Page 434 and 435: pode, a partir de outro trecho do c
- Page 436 and 437: Os parâmetros são as posições x
- Page 438 and 439: A Figura 18.11 ilustra as visões t
- Page 440 and 441: 400Os campos de saída são represe
- Page 442 and 443: 402Apêndices
- Page 444 and 445: A.1 Informação e SinalOs seres hu
- Page 446 and 447: A.2 Conversão de SinaisPara utiliz
- Page 448 and 449: Figura A.2: Lei A e lei .A Tabela A
- Page 450 and 451: as bandas menos importantes utiliza
- Page 452 and 453: E temos a seguinte codificação, g
- Page 454 and 455: Note que, assim procedendo, o decod
- Page 456 and 457: Y = 0,299R + 0,587G + 0,114BAs comp
- Page 458 and 459: Uma vez que uma imagem estática po
- Page 460 and 461: Note que, no modo progressivo, os p
- Page 463 and 464: ao redor que possuam uma amplitude
- Page 465 and 466: Figura A.9. O MP3 usa bandas não-u
- Page 467 and 468: CentralPrincipalEsquerdoPrincipalDi
- Page 469 and 470: televisão. A recomendação BT 601
- Page 471 and 472: JPEG modo sequencial, gerando os bl
cliques <strong>em</strong> uma propriedade, que será consultada ao final para determinar oresultado.O documento <strong>NCL</strong> mostrado a seguir define um t<strong>em</strong>porizador (“t<strong>em</strong>p”)com quatro âncoras t<strong>em</strong>porais (“area01” até “area04”) durante as quais obotão Clique aqui é exibido. O t<strong>em</strong>porizador também define uma âncorat<strong>em</strong>poral para exibir o resultado após o botão ser exibido por quatro vezes.Além do t<strong>em</strong>porizador e os botões, o documento define um <strong>NCL</strong>uaresponsável pela contag<strong>em</strong> dos cliques e exporta a propriedade “contador”para manter esse valor. A Figura 18.5 mostra a visão estrutural da aplicação.pInicioresultadot<strong>em</strong>ponBeginonEndarea01area02area03area04onBeginstartstopstoponEndstop( ... )aquiganhoustoponBeginstartstopstartonEnd onBeginonBeginonSelectionandtestcontador >= 3startandtestcontador < 3contadorincstartcliquesstartstopstopperdeuFigura 18.5 Visão estrutural do Ex<strong>em</strong>plo 18.2.A porta de entrada da aplicação é o t<strong>em</strong>porizador, que também dispara o<strong>NCL</strong>ua por meio de um elo “onBeginStart”. Cada âncora de exibição dobotão Clique aqui possui um elo “onBeginStart” e “onEndStop” para o383