Laboratórios de Sistemas de Multimédia (EIG,EII) MIAW – Movie in a Window Considerações iniciais: • Os MIAWs permitem que se abram outras janelas contendo filmes Director. • Correm independentemente do filme principal ou de outros MIAWs. • São úteis para conterem funcionalidades que não se adequam no Stage principal. • Podem-se criar dialog boxes ou janelas de mensagens com os MIAWs. • Pode-se criar uma aplicação com várias janelas, isto é, com vários MIAWs. • Existe ainda a possibilidade de comunicação entre os filmes, isto é, um determinado evento no filme (filme “mãe”) que “chama” um MIAW pode desencadear uma situação neste último, e vice-versa. “Receita” básica para criação e “lançamento” de 1 MIAW: • A este nível existem algumas diferenças entre os comandos usados no Director MX e aqueles que são usados no Director MX 2004 (instalado nos labs da disciplina). Este código funciona para o último: on mouseUp -- ou outro handler pretendido p/ o efeito global gJanela2 -- var que ficará associada à janela -gJanela2 = window().new ("xxx") --o nome da janela gJanela2.filename = "miawjan" window("xxx").open() --o ficheiro com o filme -- que se pretende --o aparecimento! end Comandos para fechar e/ou eliminar 1 MIAW: • Estes comandos devem ser utilizados no filme que é lançado na MIAW. • Quando se pretende “fechar” a janela, mas sem que seja retirada de memória: on mouseDown -- ou outro handler pretendido close(the activeWindow) --fecha a janela do miaw end • Quando se pretende eliminar de memória: on mouseDown -- ou outro handler pretendido forget(the activeWindow) --retira-a de memória end © 2006 Rui Neves Madeira 1/5 Laboratórios de Sistemas de Multimédia (EIG,EII) MIAW – Movie in a Window Comunicação entre filmes através do comando tell: • Num MIAW dizer para que aconteça algo no filme principal. Exemplo: tell the stage to go to "Main Menu" • No filme principal dizer para que aconteça algo num determinado MIAW. Neste caso, no “xxx”: tell window("xxx") beep go marker "ola" end tell -- necessario porque foram executadas + que 1 inst. As propriedades do filme MIAW: • No Property Inspector Æ Display Template podem-se alterar várias propriedades quanto ao aspecto final da janela que conterá o filme (MIAW): © 2006 Rui Neves Madeira 2/5 Laboratórios de Sistemas de Multimédia (EIG,EII) MIAW – Movie in a Window Alteração do título da janela: • Através de Lingo também é possível alterar o título de uma janela quando esta é “lançada”: gJanela2.title = "O título pretendido" -- ou window("xxx").title = "O título pretendido" 1 exemplo mais complexo (ver “abrirMiawPlanets.dir”): • Neste exemplo, quando se carrega num dos planetas ou num dos links o respectivo planeta aparece em ponto maior num MIAW. No filme do MIAW existe uma troca de acordo com a escolha efectuada no filme principal. Deste modo, podem ter-se n planetas e apenas um MIAW. © 2006 Rui Neves Madeira 3/5 Laboratórios de Sistemas de Multimédia (EIG,EII) MIAW – Movie in a Window • No filme principal foi criado um handler (procedimento) que será chamado por um handler on mouseDown colocado num script associado a cada um dos 2 planetas: • Este on abrePlanetas é um movie script. Ver as propriedades do script: © 2006 Rui Neves Madeira 4/5 Laboratórios de Sistemas de Multimédia (EIG,EII) MIAW – Movie in a Window • E o script (behavior) associado a cada sprite planeta será o seguinte: © 2006 Rui Neves Madeira 5/5