Existe uma maneira simples de obter uma verdadeira projeção isométrica com o elemento de tela HTML5?
7
Existe uma maneira simples de obter uma verdadeira projeção isométrica com o elemento de tela HTML5?
Respostas:
Uma das propriedades de uma projeção isométrica (e todas as projeções axonométricas) é que os objetos à distância não ficam menores.
Portanto, trivialmente, o HTML5 suporta projeções isométricas porque você pode simplesmente desenhar todos os seus recursos artísticos dessa maneira e sobrepor-los para criar a profundidade.
fonte
Editar: Revisou a resposta para que fique mais clara.
Aqui está uma nota rápida sobre como modificar algo simples como um quadrado para que ele seja isométrico. O que faço aqui é executar três rotinas de desenho. Primeiro, eu desenho um quadrado normal cuja origem central é o meio da tela (mas sua origem pode estar em qualquer lugar). Então, faço alguns cálculos básicos para transformá-lo em um polígono isométrico. Essa não é a maneira "correta" de fazer isso, mas deve ajudá-lo a entender o que a matemática na próxima rotina de desenho está fazendo. Em seguida, redesenho o polígono usando uma transformação isométrica, que é um atalho para fazer o que fizemos manualmente no exemplo anterior.
Uma explicação de como esse código funciona pode ser encontrada aqui (acabei de encontrar hoje): http://www.kirupa.com/developer/actionscript/isometric_transforms.htm . Isso explica um pouco sobre um sistema de coordenadas semelhante ao que usamos. Infelizmente, isso realmente não explica a matemática, o que farei em breve (preciso executar).
Além disso, como mencionado no post anterior, parte desse código é retirada de http://github.com/j03m/trafficcone, que é um mecanismo de jogo isométrico para html5 que eu escrevi. Para ver como esse código é usado para criar um mundo completo, consulte Engine.js e GameWorldModelIso.js. Engine.js mostra como uma grade completa pode ser desenhada (drawMock3dGrid) e GameWorldModelIso.js mostra como criar o fórum básico usado acima para ajudá-lo a navegar no mundo do jogo, colocar coisas nas células etc. sem ter que pensar nos ângulos e coisas assim.
fonte