Ir para o conteúdo

 Voltar a Linguagem NCL
Tela cheia

Script NCLua não desenha nada na tela

18 de Outubro de 2011, 1:25 , por Desconhecido - | 1 Pessoa seguindo este artigo.
Visualizado 23 vezes

No meu aplicativo ao apertar um botão para iniciar a interatividade o vídeo reduz o tamanho e fica no canto superior esquerdo da tela, enquanto o scrip lua abre na tela inteira.

O problema eh q eu tento desenhar no script utilizando o canvas e não desenha nada

tou mandando meu código pra vcs poderem analizar o q está errado. Preciso muito de ajuda

 

Código NCL:

<?xml version="1.0" encoding="ISO-8859-1"?>


44 comentários

  • 5df5d8eeb3770422cc9c42a466faee62?only path=false&size=50&d=404Roberto Azevedo(usuário não autenticado)
    18 de Outubro de 2011, 10:59

     

    Oi Victor,

     você está adicionando uma funcão tratadora de eventos (que vem da aplicacão NCL) no NCLua? Nao consegui encontrar isso no teu código.

      Dah uma olhada nesses Exemplo 1: www.​lua.​inf.​puc-​rio.​br/~​fran​cisc​o/nc​lua/​tuto​rial​/ind​ex.h​tml para você ter uma nocão de como isso funciona...

      Qualquer duvida é só perguntar... Abracos!

    p.s. A outra mensagem jah foi moderada!

    • 5df5d8eeb3770422cc9c42a466faee62?only path=false&size=50&d=404Roberto Azevedo(usuário não autenticado)
      18 de Outubro de 2011, 14:03

       

      Oi Vitor,

       Revendo o teu codigo aqui, realmente NAO eh necessario ter a funcao tratadora se voce quiser apenas desenhar e nao estiver interessado em tratar nenhum evento que venha do NCL.

      Resolvi entao testar o codigo (o que eu ainda nao tinha feito :P) e encontrei dois pequenos problemas:

      Onde tem:

      > local img = canves:new('media/telaLua.png')

      Deveria ser:

      > local img = canvas:new('media/telaLua.png')

      Observe que voce tinha trocado o segundo 'a' de 'canvas' por um 'e'.

      Fora isso, o metodo "canvas:measureText(txt)" utiliza a fonte e tamanho de fonte que sao definidos por "canvas:attrFont()". Como voce nao tinha definido qual a fonte e tamanho que estava usando, esse metodo tambem nao retornava corretamente.

      Nao tenho absoluta certeza se existe um tamanho de fonte default definido pela Norma, de qualquer forma vale a pena consultar.

       Segue o codigo com minhas alteracoes e que funcionou aqui o/

      -- Codigo Lua "alterado"

      local regLarg, regAlt = canvas:attrSize()

      canvas:attrFont('vera', 12)

      local img = canvas:new('media/telaLua.png')
      local imgLarg, imgAlt = img:attrSize()
      print (imgLarg,imgAlt)
      local imgX = (regLarg - imgLarg) / 2
      local imgY = (regAlt - imgAlt) / 2
      print (imgX, imgY)

      canvas:compose(imgX, imgY, img)

      local txt = 'Testando o Script Lua'
      local txtLarg, txtAlt = canvas:measureText(txt)
      print (txtLarg, txtAlt)
      local txtX = (regLarg - txtLarg) / 2
      local txtY = imgY + imgAlt + 2

      canvas:attrColor('white')
      canvas:drawText(txtX, txtY, txt)

      canvas:flush()

      • 2e9e46c2d20afa5d4d5a44cb69bca9ce?only path=false&size=50&d=404Victor Laerte Oliveira(usuário não autenticado)
        18 de Outubro de 2011, 15:51

         

        Roberto, valeu pela ajuda. Funcionou  :). Falta de atenção em não ver o "canves"

        Tipo, em todos os livros que eu li, em momento algum eles utilizaram o print. Queria saber pra q serve ele aí no código.

        E outra coisa, no código NCL eu botei focusBorderWidth="50" no descriptor do vídeo, mas mesmo assim quando minimizo não fica nenhuma borda em volta dele. 

        • 5df5d8eeb3770422cc9c42a466faee62?only path=false&size=50&d=404Roberto Azevedo(usuário não autenticado)
          18 de Outubro de 2011, 17:00

           

          > Tipo, em todos os livros que eu li, em momento algum eles utilizaram o print. Queria saber pra q serve ele aí no código.

          Ele só serve para imprimir o valor das variáveis (no terminal). Coloquei apenas para testar aqui, e esqueci de tirar quando "copiei e colei".

Concurso ITU-T de Aplicações para IPTV 2012

13 de Agosto de 2012, 19:38, por Desconhecido

Gostaríamos de lembrar aos possíveis interessados que o prazo de registro para participação no Concurso ITU-T de Aplicações para IPTV 2012 (IPTV Application Challenge) se encerra nesta semana, dia 15 de agosto de 2012. Já o prazo para a submissão de aplicações se encerra no dia 07 de setembro de 2012.



NCL Eclipse 1.6 disponível

10 de Janeiro de 2012, 21:19, por Desconhecido

Caros membros da Comunidade Ginga,



Concursos de Aplicações Ginga-NCL

22 de Setembro de 2011, 3:22, por Desconhecido

    Gostaríamos de relembra-los de que há dois concursos de aplicações Ginga-NCL com inscrições ainda abertas. O convite é aberto a toda a comunidade de desenvolvedores de aplicações para o Middleware Ginga-NCL, em nível internacional. São os seguintes concursos:



Novas versões: Ginga e Ginga-NCL Virtual Set-top Box (v.0.12.3)

1 de Agosto de 2011, 20:58, por Desconhecido



Algumas Boas Notícias da Comunidade Ginga

28 de Julho de 2011, 21:31, por Desconhecido

Autor: Roberto Azevedo