Possibilidade de várias roupas em sprite.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Possibilidade de várias roupas em sprite.

Mensagem por fernando.munizerthal em Seg 02 Dez 2013, 10:08

Primeiramente um bom dia a todos..

Estou desenvolvendo um RPG estilo plataforma, neste o personagem vai poder comprar: luvas, calças, Capacetes, Botas, Armaduras...
O meu problema é que não faço ideia de como fazer isso.

Pensei que poderia ser criando um sprite para cada roupa no personagem, e então quando ele colocasse uma roupa eu trocava o sprite para o daquela roupa.

O problema é que seria fazer as combinações, exemplo, Luva X com Bota Y entendem?

Então pensei em quebrar o personagem e dividir ele em partes: Braços, Pernas, Cabeça, Pés e Tronco.
Então eu poderia trocar apenas o Sprite de cada divisão quando ele quisesse trocar apenas a luva eu trocaria apenas os sprites do braço..

Porém como eu juntaria isso em um personagem e continuaria fazendo a animação de seu movimento?

Então estou totalmente sem ideias podem me ajudar, dizer o método certo..

Obrigado a todos.

fernando.munizerthal

Número de Mensagens : 76
Idade : 22
Data de inscrição : 17/10/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Possibilidade de várias roupas em sprite.

Mensagem por Willy em Seg 02 Dez 2013, 12:14

Então pensei em quebrar o personagem e dividir ele em partes: Braços, Pernas, Cabeça, Pés e Tronco.
Então eu poderia trocar apenas o Sprite de cada divisão quando ele quisesse trocar apenas a luva eu trocaria apenas os sprites do braço..
Esse é o caminho certo... Você deve fazer o sprite de cada parte posicionando corretamente como se o resto do corpo estivesse lá. Depois disso, no objeto que vai usar essas partes, deverá usar um draw_sprite_ext pra cada parte do corpo.

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Possibilidade de várias roupas em sprite.

Mensagem por fernando.munizerthal em Seg 02 Dez 2013, 13:57

Bah, entendi agora mais ou menos, vou tentar fazer isso na prática.. Nunca usei estas funções.. Teria como me dar um exemplo? E sabe algum lugar onde eu consiga sprites de partes do corpo separadas?

Obrigado pela resposta Willy.

fernando.munizerthal

Número de Mensagens : 76
Idade : 22
Data de inscrição : 17/10/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Possibilidade de várias roupas em sprite.

Mensagem por saim em Seg 02 Dez 2013, 15:57

draw_sprite_ext é bem simples de se usar, basta entender o que significa cada argumento.

Willy escreveu:Depois disso, no objeto que vai usar essas partes, deverá usar um draw_sprite_ext pra cada parte do corpo.
Embora requeira uma engine à parte, eu acho mais leve criar uma sprite feita com pedaços de roupa. Como você faria com draw_sprite_ext, mas num único evento. Cria-se uma surface e, daí, todas as sprites que podem ser usadas, em loops. Ao se mudar cada peça de roupa, roda-se a rotina novamente, eliminando as sprites antigas (ou sobrescrevendo, não sei se faz diferença).
O evento, claro, fica mais pesado. Mas acredito que o ganho ao longo do jogo compense.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Possibilidade de várias roupas em sprite.

Mensagem por Zero. em Seg 02 Dez 2013, 21:17

Eu faço da seguinte forma :
draw_sprite_ext(spr_bota, strip, x, y, _dir, image_yscale, rotation, alpha)

onde :
spr_bota = sprite da bota (no caso usei a bota como exemplo)
strip = subimagem, no caso pra cada ação do jogador q envolva uma animação vc irá definir esta variavel para o valor correto da subimagem, por exemplo : na subimagem 3, nos temos o jogador pulando, entaum em todos os sprites a subimagem 3 tem q ser referente ao personagem pulando, e em um step por exemplo ficará teoricamente assim :
if pulando = true {strip = 3} // se o personagem estiver pulando, as subimagens serão 3, isso vale para os outros draw_sprite_ext tb.
x = é para desenhar no eixo x do personagem, ou seja, todas as sprites tem q estar nos msm eixos, e não necessáriamente terão as mesmas dimensões, mas isto ajuda a ajustar.
y = o msm que o x só q no eixo y.
_dir = dir é referente a direção do personagem, por se tratar de um jogo de plataforma, eu dei essa dica de usar o image_xscale como a direção, assim invertendo horizontalmente a imagem dependendo do valor. Se vc desenha as sprites viradas para a direita vc coloca algo teoricamento do tipo : se direção = direita {_dir = 1} else {dir = -1} . Assim, se o jogador estiver indo para a direita a imagem não será invertida mas se estiver indo para a esquerda a imagem será invertida.
image_yscale = por se tratar de um jogo de plataforma, aconselho a por o valor 1 aqui, porque como o _dir, o valor 1 deixará a imagem da forma q está (verticalmente) e o -1 inverterá a imagem (verticalmente).
Rotation = é a rotação da imagem, a menos q vc queira mudar a rotação no eixo da imagem deixe este valor diferente de 0, se n deixe 0 msm pois a imagem n será modificada.
Alpha = é a opacidade da imagem, o valor padrão do alpha da imagem é 1, assim elá estara 100% opaca, abaixando este valor (que varia de 0 a 1) a imagem vai perdendo opacidade e vai ficando transparente.

Bem, assim que eu uso o meu PapperScroll (as roupas e itens desenhadas nos personagens Happy). Espero que ajude.

Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Possibilidade de várias roupas em sprite.

Mensagem por fernando.munizerthal em Ter 03 Dez 2013, 10:23

Bah, ajudaram e muito hehe

FlyAway sua explicação deixou tudo mais simples obrigado, hehe

Mas infelizmente não poderei testar isso agora, estou envolvido em outra parte do game (o inventário), que ta andando mas ta dando um pouco de dor de cabeça hehe, mas assim que eu puder eu testo isso e posto o resultado aqui.

Muito obrigado a todos que comentaram, até mais.

fernando.munizerthal

Número de Mensagens : 76
Idade : 22
Data de inscrição : 17/10/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Possibilidade de várias roupas em sprite.

Mensagem por Conteúdo patrocinado Hoje à(s) 13:44


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum