|
 | | |
|
| |  |   |  |  | |  |  | |  |  | |  |  | |  | |
 | | |
| Re: Usar mais de 1 SpriteBatch |
|
|
Técnicamente, componentes são uteis porque eu acho que rodam simultaneamente, logo, se vc por um abaixo do outro, algum deles vai atrasar ... Além da desorganização.
E descupa, num sabia q vc era iniciante...
Veja:
spriteBatch.Begin(blabla);
foreach(Texture2d texVariavel in listaTexturas){
spriteBatch.Draw(texVariavel, blabal);
}
spriteBatch.End();
E sim, vc vai ter q ter 3 coisas diferentes, mas é algo mais organizado ^^"
E bem melhor, tipow: vc adiciona várias coisas em uma list e nem precisa mandar desenhar cada uma!
Bem, qualquer coisa to aqui!
FLW E VLW! Meu site com Video-Aulas de Tutoriais: www.devtuts.com.br |
|
|
|  |  | | |
| Re: Usar mais de 1 SpriteBatch |
|
|
Desculpe minha ignorância mais ainda não consegui sacar como você usaria esse foreach para desenhar os sprites na devida órdem, ao que eu entendi esse foreach varre a array listaTexturas como um loop e atribui as texturas 1 a 1 a variavel texVariavel sendo que a cada iteração do "loop" a variavel será a textura seguinte na órdem da array, certo?
agora como isso me ajudaria com 2 listas de imagens 1 com e outra sem blend, como usaria para definir a órdem de desenho, vou dar um exemplo do que estou falando pois pode estar havendo alguma má interpretação ^^
lista 1 sprites com blend
sprite a
sprite b
sprite c
sprite d
lista 2 sprites sem blend
sprite e
sprite f
sprite g
sprite h
se eu quisesse desenhar na seguinte órdem :
sprite a, sprite e, sprite b, sprite h, sprite c, sprite d etc...
não há como intercalar sprites de 2 listas sem ter 2 SpriteBatch ou sem ficar chamando SpriteBatch.Begin toda hora...
Desculpe se estou sendo chato mais isso é fundamentao para a engine que estou fazendo, o sistema de sprite esta completo so faltando resolver esse problema e um outro que vo postar outro tópico agora ^^.
Até mais e valew... |
|
|
|  |  | | |
| Re: Usar mais de 1 SpriteBatch |
|
|
Oh, descupe, citei o caso acima por que tipo: Pensei que era para algo genérico ou aprendizado centrado nisso...
Mas já que é o jogo já, use uma lista só.
Mas isso envolverá classes tipo:
Cada sprite da classe ,por exemplo: mySprite, deve ter no minimo:
- TEXTURE2D
- VECTOR2
- TIPO DE RENDERIZAÇÃO :: INT :: SE FOR 1 É ALPHABLEND, E SE FOR TANTO É ADDITIVE...
Ai vc adiciona na lista de acordo com a ordem que vc quer.
Tipo, na classe: ManagerSprites (criada por vc), vc tem a lista e uma função:
addList(mySprite sprite){
lista.Add(sprite);
}
Os primeiros que vc adicionar vão ficar atrás e os ultimos na frente.
E sim, vai exigir chamadas distintas de Begin(), End() etc.
FLW E VLW! Meu site com Video-Aulas de Tutoriais: www.devtuts.com.br |
|
|
|  |  | | |
| Re: Usar mais de 1 SpriteBatch |
|
|
Muito obrigado amigo, pelo que vi minha lógica estava de certa forma correta né? bem apesar de ser novo em C# e XNA já programo games a uns 5 anos, comecei no RPGMaker, fiz minha propria engine no Delphi, ja usei Allegro, mais agora achei uma engine/api que me agradou, o XNA.
Muito obrigado mesmo, e até mais... |
|
|
|
|  |  | |  |  | |  |  | |  |
|
|
| | |
|
|
|  |
 |  |
|