Pergunta

Eu preciso fazer uma aplicação em .NET CF com formas diferentes / única com um monte de desenho / animação em cada forms.I prefere ter um único update [meu próprio para gerenciamento de estado e assim por diante] função para que i pode gerenciar os diferentes estados, para que a minha [Código Gaming J2ME] vai funcionar sem muito changes.I ter veio para alguns cenários possíveis. Qual dos um será perfeito?

  1. Tenha um único formulário e adicionar / remover os controles manualmente, em seguida, usar qualquer um dos truques gamelooping.
  2. Criar formas diferentes com controles e atualização chamada e Application.DoEvents () na thread principal. [While (IsAppRunning) {UPDATE () Application.DoEvents ()}
  3. Criar um update -. Circuito de tinta em cada um a forma como necessário
  4. Quaisquer outras ideias.

Por favor me dê sugestão sobre este

Foi útil?

Solução

Se seu um jogo, então eu ia cair a maioria das formas e trabalhar com o essencial, o trabalho fora de um bitmap, se possível, e torná que por qualquer substituindo método paint do formulário principal ou um controle que reside dentro dele (talvez um painel). Isso lhe dará um melhor desempenho.

A questão principal é que o quadro compacto não é realmente concebido para um monte de diversão UI você não fizer duplo-buffering para livre como em estrutura completa, adequada transparência é uma cadela para fazer com controles WinForm e se você espera para o segmento interface do usuário para um pouco longo demais você vai ter sérias falhas de renderização. Inferno você pode até conseguir aqueles se você fizer muito em threads em segundo plano! : O

Você nunca vai para obter o desempenho ideal do Application.DoEvents chamando explicitamente, a minha regra de ouro é a única utilização que, quando a resolução de problemas ou escrever pequenos cortes na interface do usuário.

Pode valer a pena furar o jogo em uma discussão de fundo e, em seguida, chamando .Invoke no controle de volta marechal para o principal segmento interface do usuário para atualizar sua exibição de deixar a interface do usuário com bastante tempo para responder ao mesmo tempo, lidar com a entrada do usuário. A entrada do usuário é outra razão para eu evitar controles de winform normais, como dispositivos móveis geralmente não têm muitas chaves que é muito útil para ser capaz de remapear-los, então eu geralmente evitar coisas como TextBoxes que têm os principais eventos predefinidos / respostas.

Eu também evitar o uso de diferentes formas como mostrando uma nova forma pode fornecer uma pausa sutil, eu geralmente trocar controles a um formulário principal para evitar esse problema ao escrever software de negócios.

No final do dia, provavelmente vale a pena experimentar com várias técnicas para ver o que funciona para o melhor. Também ver se você pode obter todas as dicas de pessoas que desenvolvem jogos em CF como eu geralmente só fazer software de negócios.

HTH!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top