Conectar-se
Quem está conectado
17 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 17 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 17/10/2013
Número de Mensagens : 76
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Possibilidade de várias roupas em sprite.

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.
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Possibilidade de várias roupas em sprite.

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.
avatar
Data de inscrição : 17/10/2013
Número de Mensagens : 76
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Possibilidade de várias roupas em sprite.

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.
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Possibilidade de várias roupas em sprite.

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.
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 47

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: Possibilidade de várias roupas em sprite.

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.
avatar
Data de inscrição : 17/10/2013
Número de Mensagens : 76
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Possibilidade de várias roupas em sprite.

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.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum