Tutorial introdutório para jogos chineses

O pôster original: fluxo de água Visualizações: 11826 Respostas: 12 Publicado em: 2010-06-29 14:38:25
Simplificando, o trabalho da tradução para o chinês é substituir todo o texto do jogo pelo chinês. Em um jogo para celular, provavelmente existem três formas de texto modificado:

palavras ilustradas. Refere-se a todo texto que existe na forma de imagens, como splash de jogo, fundo de texto ou efeitos especiais, etc. O método de substituição é muito simples, encontre um artista para fazer o desenho e depois substitua diretamente a imagem original. Muitos jogos no passado colocavam essas imagens em potes sem qualquer processamento ou apenas removiam as extensões. É muito simples substituí-los. No entanto, para reduzir o tamanho, muitos jogos agora agrupam n imagens em um arquivo. É um pouco problemático substituir esses arquivos com precisão.

Primeiro precisamos descobrir o formato de armazenamento do arquivo. De acordo com o método de desenho do programa, ele pode ser dividido em duas formas: drawImage e drawRGB.
drawImage empacota diretamente a imagem sem destruir o formato de nenhuma imagem, enquanto drawRGB salva as informações de pixel da imagem no formato RGB. O primeiro é mais fácil. Além do PNG, alguns celulares também suportam GIF, JPG e outros formatos. Apenas certifique-se de que o formato da imagem esteja correto. Este último é um pouco mais problemático, porque a matriz de informações de pixels RGB formada é muito grande e algumas delas são compactadas, portanto, a substituição precisa será mais difícil.


String escrita no programa. O método de processamento também é muito simples. Basta descompilar o arquivo fonte e substituir a string correspondente. Não me pergunte o que é descompilação, não falarei sobre os princípios da compilação neste post. Para elaborar mais, existem duas maneiras. A primeira é modificar diretamente o arquivo de classe. Se você escrever caracteres chineses diretamente no programa de origem, as cadeias de caracteres chineses no arquivo de classe gerado deverão ter a codificação UTF8 padrão. Uma maneira simples é compilar um arquivo java com strings chinesas escritas por você mesmo e, em seguida, copiar os bytes correspondentes no arquivo de classe gerado para o arquivo de classe original. O segundo é o arquivo Java gerado após a descompilação. Devido ao embaralhamento, há locais onde ele não pode ser compilado. Geralmente, isso ocorre porque há um problema com o arquivo gerado após a descompilação. Devido às diferentes ferramentas de embaralhamento, os problemas existentes também são diferentes. Em alguns lugares, a descompilação não foi bem-sucedida, em outros lugares foram usadas instruções de pseudo-montagem (como goto, etc.) e os nomes de alguns construtores foram ocultados. . Espere, algumas ferramentas de embaralhamento também adicionarão deliberadamente código irracional para definir armadilhas para descompilação -__-|| Portanto, modificações muito problemáticas devem ser feitas. . . Claro, existem apenas alguns erros a serem cometidos ao corrigi-los, o que é muito problemático. As técnicas de embaralhamento e descompilação funcionam juntas e não existe uma solução única para todos. Resumindo, este método não é recomendado quando a interferência dos códigos embaralhados não foi completamente eliminada.


String escrita em dados externos. Se a estrutura do programa deste jogo for boa, todas as strings deverão ser colocadas em um arquivo externo. Se você não sabe qual arquivo é, basta abrir todos os arquivos com um editor de texto e visualizá-lo para encontrar o arquivo que armazena a string. Muitos jogos usam a função geral readUTF() para ler dados de arquivos. Portanto, certifique-se de que as novas strings usadas sejam codificadas em UTF-8. Como não há arquivo xml original para regenerar esse arquivo de dados, pode ser necessário substituir a codificação hexadecimal da string para substituir corretamente a string original. De modo geral, cada caractere do uft-8 é um byte maior que o Unicode, portanto, o arquivo de string substituído pode ser um pouco maior que o original. Se não estiver no formato UTF8, poderá estar em Unicode ou outros formatos. Porém, se o próprio programa não levar em consideração a leitura de texto multibyte, o problema não poderá ser resolvido a menos que o código-fonte seja modificado.


Isso está basicamente feito. As alterações no tamanho do jar e na memória de tempo de execução do jogo causadas pela substituição dessas strings são insignificantes. O último passo é confirmar se o celular no qual você deseja executar este programa suporta chinês :)

Resumindo, é realmente uma alegria não ter uma biblioteca de fontes integrada. Quando você adquire uma ROM GBA, a primeira coisa que você precisa fazer é quebrá-la, mas que tal comprar um jogo para celular? Basta descompactá-lo e visualizar cada arquivo.Haha, para fazer uma versão chinesa do GBA é preciso pelo menos cracking, tradução e arte, mas para fazer uma versão chinesa para celular a quantidade de texto não é grande, não tem muitas fotos e basta uma pessoa. E o ponto mais importante é que não existe uma produtora de jogos GBA na China. Se você quiser jogar jogos chineses, só pode contar com os fãs para fazer isso sozinho. Mas para jogos para celular, é o oposto. Existem muitas empresas de produção nacionais. Mas, apesar disso, a maioria dos jogos chineses ainda são puro lixo e realmente não se comparam aos jogos produzidos por grandes empresas estrangeiras. Os alunos interessados ​​​​podem tentar por conta própria, então acho que o significado deste artigo não é de todo sem sentido.
responder 🤍 0 📤 compartilhar coletar
"@_@" Muito difícil. Isso significa que há pressão.
Isto é girado
Passando por aqui, envolve programação e termos técnicos... na prática, a operação ainda deve ser feita no computador, e eu estou um pouco confuso. Eu entrei pensando que talvez pudesse usar um software para traduzir e depois apenas sobrescrever o arquivo, mas não é... deixa pra lá, é muito avançado, eu não entendo...
Substituir o arquivo original sem pressão
Topo…………
Topo…………
Isso não é um tutorial, apenas explica a ideia por trás da tradução para o chinês!
A resposta correta está abaixo, acima é a explicação teórica da tradução para o chinês, para estudo dos entusiastas
Top~~~~~
Oh!!!!!!
Muito bom... só que não consigo entender
Não entendo, pode explicar de forma mais simples???
— Todas as respostas carregadas —

Deixe uma resposta