Identificando Problemas
Coletando Mídia para Testes
Seção intitulada “Coletando Mídia para Testes”O primeiro passo em qualquer processo de reporte de bugs é reunir provas de que algo está dando errado. Mensagens simples como “Ei, este jogo não funciona” não são úteis para nossa equipe de manutenção. Para corrigir um problema de forma eficiente, precisamos de três coisas sempre:
- Um vídeo do bug sendo acionado. Entendemos que você não pode capturar o efeito dando errado 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 nos ajudar a identificar a origem do problema rapidamente.
- A resolução de tela em que você está jogando. Sem isso, nossos desenvolvedores precisam verificar cada resolução que suportamos para encontrar o problema, o que pode ser demorado.
Se você é um criador de Lightscript que não é diretamente afiliado à nossa empresa, esses passos simples ainda vão te ajudar muito com seu próprio código. Documentação completa, combinada com um entendimento da estrutura do código, torna a identificação de problemas um processo direto.
Se você é um fã do jogo tentando 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”Bugs de integração geralmente são fáceis de perceber — se um efeito nunca é reproduzido ou é reproduzido com muita frequência, algo está claramente quebrado. A parte desafiadora é identificar exatamente a seção de código que está causando o problema. Sempre comece identificando o problema usando os passos descritos na seção anterior, pois isso fornecerá o caminho mais claro a seguir. Abaixo está um processo sugerido de correção de bugs:
-
Verifique o Log do Console:
- Estamos recebendo logs no console que identificam o problema? Problemas comuns aqui incluem variáveis não declaradas, palavras com erros de ortografia e intervalos incorretos de metros ou formas de desenho. Estouro de pilha não será detectado pelo SignalRGB, mas é fácil de perceber: o SignalRGB vai travar primeiro, seguido pelo seu computador. Seja um programador responsável e evite fazer seu app contar até o infinito.
-
Verifique os Medidores:
- O efeito aciona seus medidores no Inspetor de Medidores durante o gameplay? Se sim, você deve ver branco aparecer na área preta abaixo da visualização do medidor.
- Se o medidor estiver deslocado, use nossa ferramenta proprietária (WindowSpy) para fazer medições de tela e ajustar o posicionamento do medidor na seção
**<head>**. - Se isso corrigir o problema, lembre-se de ajustar o medidor para todas as outras resoluções na seção de ajuste. Instruções sobre posicionamento de medidores e coordenadas normalizadas podem ser encontradas na seção “Smart Tags” deste documento.
- Se os medidores estiverem acionando corretamente, o problema está em outro lugar.
- Se o medidor estiver deslocado, use nossa ferramenta proprietária (WindowSpy) para fazer medições de tela e ajustar o posicionamento do medidor na seção
- O efeito aciona seus medidores no Inspetor de Medidores durante o gameplay? Se sim, você deve ver branco aparecer na área preta abaixo da visualização do medidor.
-
Verifique a Função Update:
- Os dados do medidor estão sendo passados corretamente para a classe Meter?
- Você 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 log deve aparecer toda vez que o medidor estabilizar, mesmo que o efeito não acione corretamente. - Se o log aparecer de forma consistente, o problema está em outro lugar.
- Os dados do medidor estão sendo passados corretamente para a classe Meter?
-
Avalie a Função de Callback:
- Sabemos que a função de callback está ativando corretamente porque vimos os logs anteriormente. Agora, revise 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á sendo 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á ativando corretamente porque vimos os logs anteriormente. Agora, revise os condicionais dentro do efeito para verificar a precisão.
-
Verifique a Função de Animação do Efeito:
- Funções de animação podem ser muito variáveis, então 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 você consegue ativá-lo para ver a animação no SignalRGB.
- Preste atenção ao console e observe onde a animação quebra.
- Isolar o código problemático vai economizar seu tempo, então certifique-se de seguir este passo.
- Funções de animação podem ser muito variáveis, então não há um conselho único para todos os casos. No entanto, para uma depuração eficiente: