Diário Gamer | Criando meu primeiro jogo - Parte 06
Autor: Iscai NM | Publicado: 2017-04-28T09:52:00-03:00






Se a parte 05 desse especial já me fez descabelar um bocado tentando fazer a animação normal mudar pra animação de pulo, imagina nesse que são todos os códigos de movimentação do personagem? Dá pra dizer que foi só a bagaceira! No começo eu até que tava pegando, mas chegou a um ponto que comecei a ficar mais perdido do que cego em tiroteio. Bom, no fim das contas ao menos andar o infeliz anda né?


<!-- 4 Meio das Matérias Responsivo -->


(adsbygoogle = window.adsbygoogle || []).push({});






Antes de tudo quero dizer que segui a dica do Matt nos comentários da parte 02 e criei um github, então todos os arquivos do jogo vão ser colocados aqui, a parte ruim é que não aprendi a usar esse diabo desse negócio, achei complicado demais, então ao invés de colocar os arquivos separados eu criei um rar e taquei lá. Ainda mais depois de ficar tentando programar, eu já estava impaciente e esse bagulho pareceu um inferno pra fazer upload de pastas. Ò_Ò



Bom, na última parte eu tinha feito o personagem mudar a animação de parado para pulando, mas não tinha ação. Ou seja, eu apertava espaço, aparecia o "visual" dele pulando, mas não ia pra cima. Nesse coloquei isso e também os movimentos para a esquerda e direita. Tiveram vários bugs, mas no fim das contas ele andou.



Algo que me deixou meio pra baixo nessa parte é que vi que o tutorial que estou seguindo é bem bagunçado. O cara sabe o que está fazendo, mas ele improvisa na hora, vai e volta, as vezes deixa códigos que não deu certo jogados lá no meio. Então não é bem uma aula preparada, muita coisa é improvisada na hora. E uma coisa que acho que preciso inicialmente é organização pra entender melhor.





Sendo assim acho que esse meu primeiro projeto vai terminar com uma aparência bastante porca, decidi que depois que terminar ele vou tentar fazer outro com um outro tutorial. De qualquer forma ao menos vou ganhar experiência nesse né? Mas vai terminar só a bagaceira cheia das gambiarras uahaha.



Bom, eu nem vou falar do código porque é grande demais, mas vou deixar ele nos comentários caso alguém queira dar uma olhada, e também é possível baixar o projeto inteiro com imagens e tudo mais lá no github. Mas uma coisa que o cara se concentrou muito foi em criar um código onde o personagem enviava a mensagem FALSE quando estivesse no ar e se estivesse no chão ficava TRUE. Isso pra evitar bugs do personagem fazer movimentos diferentes quando não estivesse em terra firme.



Um bug maldito que teve e eu simplesmente não tenho ideia é que quando o personagem chega na plataforma da esquerda ele pode andar só se for no meio, mas ao se aproximar de alguma das extremidades ele trava e para de andar. Eu penso se o motivo não é o fato de eu ter encolhido a imagem pra parecer diferente da outra, porém como vocês podem ver na imagem aí embaixo a caixa de colisão (essa linha ao redor dela) parece tá no tamanho certo. Além do mais (acabei de testar) e vi que o mesmo acontece com a de baixo se eu chegar





Outro bug é que as animações parecem não estar funcionando muito bem. A animação de corrida fica travada eternamente quando estou nas extremidades de uma das plataformas. A animação de pulo&nbsp; simplesmente sumiu da jogada, ele não faz mais ela de maneira alguma. Acredito que pode ter a aba Animator que eu mostrei na parte 03, eu tinha falado que achava que ainda ia ter problemas com as animações, isso deve ser resultado daquilo lá.

Ainda sobre animações, eu notei que elas estão muito espalhafatosas, o personagem começa a correr e ele dá uma desviada muito brusca, não fica bonito. Acho que em uma atualização futura vou mudar isso pra ele dar apenas uma entortadinha pra frente, ou um ventinho no chapéu, até porque como vocês podem ver no gif do topo, essa versão dele só deslizando até que fica simpática.

E por falar no gif da bagaceira, acho que muita gente pode ter problema com isso. No Unity a física fica ativada por completo em objetos 2D, então isso inclui rotação. Seria bom pra uma caixa no cenário, mas pro personagem fica bem bizarro. Existe uma opção chamada "Freeze Rotation" que fica na parte Rigidbody, isso resolve, apesar de que fica estranho ele nas pontas das plataformas parado com um pedaço enorme do corpo pra fora e sem cair (quando eu ainda conseguia ficar nas pontas sem dar pau).

Sobre a parte da programação, eu não tenho ideia de como esse jogo reconheceu que A e D são pra andar. Sei que o código é esse aqui:





Mas não tem nada de A e D aí nessa bagaça, será que esse "eulerAngles" é especificamente algo que se refere a A e D?



Enfim, o código final gerado foi poluído pra caramba, e eu estou com um medo desse jogo dar pau de vez. Tá um código tão desorganizado e estou com medo de tentar deixar bonitinho e ficar um bagulho louco. Eu consigo acompanhar um pouquinho da lógica da coisa, mas ainda não é muito claro não. Mas vamos ver né?