Como posso desenhar sprites no Unity 5 programaticamente? Eu estou procurando algo semelhante ao spriteBatch.Draw()
XNA. Os resultados obtidos quando pesquiso sobre ele estão desatualizados em http://wiki.unity3d.com/index.php?title=SpriteManager (isso foi escrito em 2012) ou são feitos usando a interface da unidade. Tudo o que posso encontrar é uma Sprite
classe no UnityEngine.dll. É disso que eu preciso? Como o desenho funcionaria? Eu realmente não entendo.
8
Sprite
e depois um,SpriteRenderer
mas não consigo descobrir como definir uma imagem para o sprite.Sprite
nem parecem ter uma propriedade para definir a imagem. a coisa mais próxima que eu vejo é sprite.texture que só é lido ... na verdade cada propriedade do sprite é somente leituraRespostas:
O Unity não possui esse tipo de renderização de "modo direto"; você não chamará
Draw
nenhum loop de atualização para o Unity.No Unity, você precisa criar um objeto de jogo e anexar scripts a esse objeto. Esses scripts controlarão como o objeto se comporta, se e como é exibido na tela, se faz parte do sistema de física etc.
Para criar um novo sprite para desenhar na tela, você precisará criar um novo objeto de jogo, anexar o script SpriteRenderer e definir seu sprite.
Isso pressupõe uma estrutura de diretório
Por exemplo:
Então você tinha um script diferente para alterar a posição, rotação etc., dependendo de como deseja que ele se comporte.
A maneira mais fácil de fazer tudo isso sem precisar escrever tanto código? Crie o objeto do jogo no editor do Unity primeiro. Uma vez que o objeto do jogo esteja equipado com o sprite desejado, os scripts de comportamento e tudo mais. Arraste e solte-o em um diretório de recursos. Isso cria uma pré-fabricada. Pré-fabricados são exatamente o que parecem, pré-fabricados. Eles são objetos completos que você pode fazer referência e criar em tempo real.
Você criaria como:
Isso gerará um clone da pré-fabricada que você criou antes. Portanto, se, por exemplo, você der ao seu pré-fabricado o comportamento de avançar em direção ao jogador e atacar, toda vez que gerar um novo pré-fabricado desse tipo, eles começarão a se mover em direção ao jogador e ao ataque. Os scripts que você só precisava escrever uma vez controlam todos esses objetos do jogo.
Eu acho que a principal diferença que você está vendo aqui é o uso pesado de componentes. O que você provavelmente não viu em outros mecanismos de jogos como o XNA. A unidade é realmente um mecanismo poderoso, mas sua frustração vem de tentar usá-lo como outros mecanismos, quando não é como outros motores. Confira meu perfil para obter treinamento. Adicionei um link para uma avaliação gratuita para que você não precise pagar.
fonte