Fórum Sharpgames
 
 
  Forum  Criação de Jogo...  Gráficos 2D/3D  Usar mais de 1 SpriteBatch
Anterior Anterior
 
Próximo Próximo
Nova Entrada 19/3/2009 17:57
  setherK
85 tópicos
3rd Level Poster


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
 
Nova Entrada 19/3/2009 20:29
  lbmaker
12 tópicos
10th Level Poster


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...
 
Nova Entrada 19/3/2009 23:48
  setherK
85 tópicos
3rd Level Poster


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
 
Nova Entrada 20/3/2009 11:58
  lbmaker
12 tópicos
10th Level Poster


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...
 
Anterior Anterior
 
Próximo Próximo
  Forum  Criação de Jogo...  Gráficos 2D/3D  Usar mais de 1 SpriteBatch
Logos do XBox 360, XNA e Games For Windows
Copyright 2006-2012 por SharpgamesPolítica de Privacidade  |  Termos de Uso