Compartilhar via


Animando um caractere

[O Microsoft Agent foi preterido a partir do Windows 7 e pode estar indisponível nas versões subsequentes do Windows.]

Depois que um caractere é carregado, você pode usar vários dos métodos do Microsoft Agent para animar o caractere. O primeiro que você usa normalmente é o método Show . Mostrar torna o quadro do caractere visível e reproduz a animação atribuída ao estado Mostrando do caractere.

Depois que o quadro do caractere estiver visível, você poderá usar o método Play , especificando o nome de uma animação, para reproduzir essa animação. Os nomes de animação são específicos para uma definição de caractere. À medida que uma animação é reproduzida, a forma de sua janela é alterada para corresponder à imagem no quadro. Isso resulta em uma imagem gráfica móvel, ou sprite, exibida na parte superior da área de trabalho e em todas as janelas ou na ordem z.

Se o arquivo do caractere for armazenado localmente, você poderá simplesmente chamar o método Play . Em outros casos, como quando você carregou um . Caractere ACF de um servidor HTTP, você deve usar o método Get (ou Prepare) para primeiro recuperar os dados de animação. Isso fará com que o Agent solicite o arquivo de animação do servidor e armazene-o no buffer do navegador no computador local.

O método Speak permite que você programe o caractere para falar, sincronizando automaticamente a saída. Mais detalhes são abordados na seção Saída deste documento.

Você pode usar o método MoveTo para posicionar o caractere em um novo local. Quando você chama o método MoveTo , o Microsoft Agent reproduz automaticamente a animação apropriada com base no local atual do caractere e move o quadro do caractere. Da mesma forma, quando você chama GestureAt, o Microsoft Agent reproduz a animação de gesturing apropriada com base na localização do caractere e no local especificado na chamada.

Para ocultar o caractere, chame o método Hide . Isso reproduz automaticamente o caractere associado ao estado oculto do caractere e oculta o quadro do caractere. No entanto, você também pode ocultar ou mostrar um caractere definindo a propriedade Visible do caractere.

O Microsoft Agent processa todas as chamadas de animação, ou solicitações, de forma assíncrona. Isso permite que o código do aplicativo continue tratando outros eventos enquanto a solicitação está sendo processada. Por exemplo, chamadas para o método Play colocam a animação em uma fila para o caractere para que as animações possam ser reproduzidas sequencialmente. No entanto, isso significa que você não pode assumir que uma chamada para outras funções necessariamente será executada após uma animação que segue em seu código. Por exemplo, normalmente, uma instrução após uma chamada para Reproduzir ou MoverTo será executada antes que a animação seja concluída.

Você pode sincronizar seu código com animações na fila de um caractere criando uma referência de objeto à solicitação de animação e, quando a animação é iniciada ou concluída, monitorando os eventos de solicitação que o servidor usa para notificar os clientes do caractere. Por exemplo, se você quiser que uma caixa de mensagem apareça quando o caractere terminar uma animação, você poderá colocar a chamada da caixa de mensagem na sub-rotina de tratamento de eventos RequestComplete , verificando a ID de solicitação específica.

Quando um caractere está oculto, o servidor não reproduz animações; no entanto, ele ainda enfileira e processa a solicitação de animação (reproduz a animação) e passa uma solicitação status de volta para o cliente. No estado oculto, o caractere não pode se tornar ativo de entrada. No entanto, se o usuário falar o nome do caractere (quando a entrada de fala estiver habilitada), o servidor mostrará automaticamente o caractere.

Quando o aplicativo cliente carrega vários caracteres ao mesmo tempo, os serviços de animação do Microsoft Agent permitem animar caracteres de forma independente ou usar os métodos Wait, Interrupt ou Stop para sincronizar a animação entre si.

O Microsoft Agent também reproduz outras animações automaticamente para você. Por exemplo, se o estado do caractere não tiver sido alterado por vários segundos, o Agent começará a reproduzir animações atribuídas às animações de Idling do caractere. Da mesma forma, quando a entrada de fala está habilitada, o Agent reproduz as animações de Escuta do caractere e, em seguida, ouve animações quando um enunciado é detectado. Essas animações gerenciadas pelo servidor são chamadas de estados e são definidas quando um caractere é criado. Para obter mais informações, consulte Criando caracteres para o Microsoft Agent.