Identificando Problemas
Recolhendo Multimédia para Testes
Seção intitulada “Recolhendo Multimédia para Testes”O primeiro passo em qualquer processo de reporte de bugs é reunir provas de que algo está a correr mal. Mensagens simples como “Ei, este jogo não funciona” não são úteis para a nossa equipa de manutenção. Para corrigir um problema de forma eficiente, precisamos sempre de três coisas:
- Um vídeo do bug a ser acionado. Compreendemos que não pode capturar o efeito a correr mal no teclado, mas um vídeo de gameplay é suficiente.
- Uma descrição das ações que acionaram o bug. Por favor, seja o mais detalhado possível. Até pequenos detalhes podem ajudar-nos a identificar a origem do problema rapidamente.
- A resolução de ecrã em que está a jogar. Sem isso, os nossos programadores precisam de verificar cada resolução que suportamos para encontrar o problema, o que pode ser demorado.
Se é um criador de Lightscript que não está diretamente afiliado à nossa empresa, estes passos simples ainda o vão ajudar muito com o seu próprio código. Documentação completa, combinada com uma compreensão da estrutura do código, torna a identificação de problemas um processo direto.
Se é um fã do jogo a tentar fazer manutenção por conta própria, certifique-se de nos enviar imagens de gameplay com o problema visível. Podemos ser capazes de acelerar a correção!
Identificando Problemas
Seção intitulada “Identificando Problemas”Os bugs de integração geralmente são fáceis de perceber — se um efeito nunca é reproduzido ou é reproduzido com demasiada frequência, algo está claramente partido. A parte desafiante é identificar exatamente a secção de código que está a causar o problema. Comece sempre por identificar o problema usando os passos descritos na secção anterior, pois isto fornecerá o caminho mais claro a seguir. Abaixo está um processo sugerido de correção de bugs:
-
Verifique o Registo da Consola:
- Estamos a receber registos na consola que identificam o problema? Problemas comuns aqui incluem variáveis não declaradas, palavras com erros ortográficos e intervalos incorretos de medidores ou formas de desenho. O estouro de pilha não será detetado pelo SignalRGB, mas é fácil de perceber: o SignalRGB irá bloquear primeiro, seguido pelo seu computador. Seja um programador responsável e evite fazer a sua aplicação contar até ao infinito.
-
Verifique os Medidores:
- O efeito aciona os seus medidores no Inspetor de Medidores durante o gameplay? Se sim, deve ver branco a aparecer na área preta abaixo da visualização do medidor.
- Se o medidor estiver deslocado, use a nossa ferramenta proprietária (WindowSpy) para fazer medições de ecrã e ajustar o posicionamento do medidor na secção
**<head>**. - Se isto corrigir o problema, lembre-se de ajustar o medidor para todas as outras resoluções na secção de ajuste. Instruções sobre posicionamento de medidores e coordenadas normalizadas podem ser encontradas na secção “Smart Tags” deste documento.
- Se os medidores estiverem a acionar corretamente, o problema está noutro lugar.
- Se o medidor estiver deslocado, use a nossa ferramenta proprietária (WindowSpy) para fazer medições de ecrã e ajustar o posicionamento do medidor na secção
- O efeito aciona os seus medidores no Inspetor de Medidores durante o gameplay? Se sim, deve ver branco a aparecer na área preta abaixo da visualização do medidor.
-
Verifique a Função Update:
- Os dados do medidor estão a ser passados corretamente para a classe Meter?
- Inseriu atualizações condicionais de Meter para lidar com comportamentos complexos de UI?
- Se tudo parecer bem, coloque um
console.logdiretamente dentro da sua função de callback. O registo deve aparecer sempre que o medidor se estabilizar, mesmo que o efeito não acione corretamente. - Se o registo aparecer de forma consistente, o problema está noutro lugar.
- Os dados do medidor estão a ser passados corretamente para a classe Meter?
-
Avalie a Função de Callback:
- Sabemos que a função de callback está a ativar corretamente porque vimos os registos anteriormente. Agora, reveja os condicionais dentro do efeito para verificar a precisão.
- Se nada parecer obviamente errado, adicione instruções
console.logdentro dos condicionais para ver se algum deles está a ser acionado incorretamente durante o gameplay. - Se tudo parecer bem, o problema pode estar dentro do próprio efeito.
- Se nada parecer obviamente errado, adicione instruções
- Sabemos que a função de callback está a ativar corretamente porque vimos os registos anteriormente. Agora, reveja os condicionais dentro do efeito para verificar a precisão.
-
Verifique a Função de Animação do Efeito:
- As funções de animação podem ser muito variáveis, portanto não há um conselho único para todos os casos. No entanto, para uma depuração eficiente:
- Mova o efeito para um template vazio de Lightscript e verifique se consegue ativá-lo para ver a animação no SignalRGB.
- Preste atenção à consola e observe onde a animação quebra.
- Isolar o código problemático vai poupar o seu tempo, por isso certifique-se de seguir este passo.
- As funções de animação podem ser muito variáveis, portanto não há um conselho único para todos os casos. No entanto, para uma depuração eficiente: