Entrar
Últimos assuntos
» Retorno da GMBR!!!por theguitarmester Ter 19 Mar 2024, 22:38
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
Problemas com sprite
2 participantes
Página 1 de 1
Problemas com sprite
Pessoal O/ estou com um problema, meu personagem principal poderá andar para direita e para esquerda, só que quando fui fazer os códigos no jogo, ele vai para a direita normalmente, mas, quando aperta o botão para esquerda o sprite dele não muda (ele faz tipo um moonwalk), então para contornar isso resolvi usar o image_xscale, mas, isso acaba atrapalhando na colisão, porque quando aperto para a esquerda, o personagem meio que avança um pouco para a esquerda (provavelmente para o sprite virar) então, eu queria saber que raios está errado com meu codigo
--
Quem quiser observar o problema de perto: https://www.dropbox.com/s/dpd6mg3peyubwrj/Sparck%20Racer.project.gmx
- Código:
//Create do player
if global.cor = 1 { //Se escolheram a cor amarela...
sprite_index = Amarelo_andandod
image_speed = 0
}
if global.cor = 2 {
sprite_index = Azul_andandod
image_speed = 0
}
if global.cor = 3 {
sprite_index = Laranja_andandod
image_speed = 0
}
if global.cor = 4 {
sprite_index = Preto_andandod
image_speed = 0
}
if global.cor = 5 {
sprite_index = Rosa_andandod
image_speed = 0
}
if global.cor = 6 {
sprite_index = Verde_andandod
image_speed = 0
}
if global.cor = 7 {
sprite_index = Vermelho_andandod
image_speed = 0
}
if global.cor = 8 {
sprite_index = Violeta_andandod
image_speed = 0
}
global.velocidade = 5 //Velocidade igual a 5
global.jogo = 1
- Código:
//Step do player
//Movimentos
if keyboard_check(vk_right) && place_free(x+4,y) { //Se estiver para direita
image_speed = 2
if global.cor = 1 {
sprite_index = Amarelo_andandod
} else if global.cor = 2 {
sprite_index = Azul_andandod
} else if global.cor = 3 {
sprite_index = Laranja_andandod
} else if global.cor = 4 {
sprite_index = Preto_andandod
} else if global.cor = 5 {
sprite_index = Rosa_andandod
} else if global.cor = 6 {
sprite_index = Verde_andandod
} else if global.cor = 7 {
sprite_index = Vermelho_andandod
} else if global.cor = 8 {
sprite_index = Violeta_andandod
}
x += global.velocidade
} else if keyboard_check(vk_left) && place_free(x-4,y) { //Se estiver para esquerda
image_speed = 2
if global.cor = 1 {
sprite_index = Amarelo_andandoe
} else if global.cor = 2 {
sprite_index = Azul_andandoe
} else if global.cor = 3 {
sprite_index = Laranja_andandoe
} else if global.cor = 4 {
sprite_index = Preto_andandoe
} else if global.cor = 5 {
sprite_index = Rosa_andandoe
} else if global.cor = 6 {
sprite_index = Verde_andandoe
} else if global.cor = 7 {
sprite_index = Vermelho_andandoe
} else if global.cor = 8 {
sprite_index = Violeta_andandoe
}
x -= global.velocidade
} else { //Se estiver parado
image_speed=0
image_index=0
}
--
Quem quiser observar o problema de perto: https://www.dropbox.com/s/dpd6mg3peyubwrj/Sparck%20Racer.project.gmx
vitorfernandes13- Games Ranking :
Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas com sprite
Se você está usando image_xscale para inverter a direção do sprite, saiba que o origin x do sprite deve ser sempre no centro, senão o "passo extra" sempre vai acontecer.
Re: Problemas com sprite
Willy escreveu:Se você está usando image_xscale para inverter a direção do sprite, saiba que o origin x do sprite deve ser sempre no centro, senão o "passo extra" sempre vai acontecer.
Origin x? mas ele nao corta o sprite?
Mas, nesse caso então nao vou usar o image_xscale, pois não sabia disso, mas, o que será que tá errado com meu codigo, pela logica ele ta certo
vitorfernandes13- Games Ranking :
Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas com sprite
Não. Apenas define qual é o eixo do sprite.vitorfernandes13 escreveu:Origin x? mas ele nao corta o sprite?
Nem cheguei a ver seu código/engine, só pelo descrição do problema dá pra saber.
Re: Problemas com sprite
Willy escreveu:Não. Apenas define qual é o eixo do sprite.vitorfernandes13 escreveu:Origin x? mas ele nao corta o sprite?
Nem cheguei a ver seu código/engine, só pelo descrição do problema dá pra saber.
Eu fiz 16 sprites, 1 para direita, e outro para esquerda, com 8 cores diferentes, então no meu próximo projeto eu usarei o image_xscale
vitorfernandes13- Games Ranking :
Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas com sprite
Observei seu código. Apesar de não ser muito enxuto (dá pra resumir seu código e aumentar a eficiência/manutenção/implementação se você usar arrays), ele aparenta funcionar de forma correta.
Sobre o origin:
Para poder "inverter" a sprite, você deve usar:
Nota: Você mandou um arquivo inválido no lugar da engine.
Sobre o origin:
Para poder "inverter" a sprite, você deve usar:
Se você usar qualquer outro valor, a imagem vai distorcer, dando a impressão que ela foi cortada. Lembre-se que o origin x deve sempre estar no meio conforme mostrado na imagem acima.Para direita: image_xscale = 1;
Para esquerda: image_xscale = -1;
Nota: Você mandou um arquivo inválido no lugar da engine.
Re: Problemas com sprite
Willy escreveu:Observei seu código. Apesar de não ser muito enxuto (dá pra resumir seu código e aumentar a eficiência/manutenção/implementação se você usar arrays), ele aparenta funcionar de forma correta.
Sobre o origin:
Para poder "inverter" a sprite, você deve usar:Se você usar qualquer outro valor, a imagem vai distorcer, dando a impressão que ela foi cortada. Lembre-se que o origin x deve sempre estar no meio conforme mostrado na imagem acima.Para direita: image_xscale = 1;
Para esquerda: image_xscale = -1;
Nota: Você mandou um arquivo inválido no lugar da engine.
Duas coisas que eu sou horrível são loops e arrays ficaria feliz se vc mostrasse um "exemplo enxuto"
Obrigado pela dica do image_xscale, vou tentar usar se meu codigo não der certo, mas eu vou fazer dar certo ,
E o arquivo não é invalido, é do GM Studio
vitorfernandes13- Games Ranking :
Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas com sprite
Seu código ficaria mais ou menos assim:
Create:
Apenas isso já define uma cor inicial pro player e dispensa aquele monte de código no step. global.CorSelecionada deve ser um numero de 0 a 3 (vide exemplo) para selecionar a cor do player se referindo a uma array.
Sobre o arquivo, você tem que tem que gerar um gmz para me passar. Faça download e tente abrir o que você postou e vai ver do que eu estou falando.
Create:
- Código:
//Popula as Arrays
Cor[0] = Amarelo_andandod
Cor[1] = Azul_andandod
Cor[2] = Laranja_andandod
Cor[3] = Preto_andandod
[...continua...]
sprite_index = Cor[global.CorSelecionada];
Apenas isso já define uma cor inicial pro player e dispensa aquele monte de código no step. global.CorSelecionada deve ser um numero de 0 a 3 (vide exemplo) para selecionar a cor do player se referindo a uma array.
Sobre o arquivo, você tem que tem que gerar um gmz para me passar. Faça download e tente abrir o que você postou e vai ver do que eu estou falando.
Re: Problemas com sprite
Aqui arrumei o arquivo
Obrigadode novo
https://www.dropbox.com/s/k9s5az6i5tl4udm/Sparck%20Racer.gmz
Vou tentar fazer esses arrays aqui, obrigadode novo
Dps, vc poderia dar uma conferida no arquivo?mentira, quero que vc olhe tambem o meu jogo
So pra ver mesmo o que é que causa o problema, eu to começando a fica com raiva disso
Obrigado
https://www.dropbox.com/s/k9s5az6i5tl4udm/Sparck%20Racer.gmz
Vou tentar fazer esses arrays aqui, obrigado
Dps, vc poderia dar uma conferida no arquivo?
So pra ver mesmo o que é que causa o problema, eu to começando a fica com raiva disso
vitorfernandes13- Games Ranking :
Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas com sprite
Agora sim consegui ver seu projeto...
Observei que você precisa não só mexer como entender a funcionalidade do origin (sua mola que o diga). De qualquer modo, pra resolver seu problema, vá em todos os sprites do personagens e deixe a origin x em 20 (metade de 41 arredondado). Depois, coloque esse código no step:
Sobre seu jogo, não tenho muito o que dizer pois o mesmo está bem no começo... Só recomendo que use cores menos vivas.
Enfim, flws...
Observei que você precisa não só mexer como entender a funcionalidade do origin (sua mola que o diga). De qualquer modo, pra resolver seu problema, vá em todos os sprites do personagens e deixe a origin x em 20 (metade de 41 arredondado). Depois, coloque esse código no step:
- Código:
if keyboard_check(vk_right){
image_xscale = 1;
}else if keyboard_check(vk_left){
image_xscale =-1;
}
Sobre seu jogo, não tenho muito o que dizer pois o mesmo está bem no começo... Só recomendo que use cores menos vivas.
Enfim, flws...
Re: Problemas com sprite
Willy escreveu:Agora sim consegui ver seu projeto...
Observei que você precisa não só mexer como entender a funcionalidade do origin (sua mola que o diga). De qualquer modo, pra resolver seu problema, vá em todos os sprites do personagens e deixe a origin x em 20 (metade de 41 arredondado). Depois, coloque esse código no step:Peço que não deixe esse meu código como definitivo pois é apenas para exemplo. Recomendo que tente colocar de um modo seguro para evitar bugs se achar necessário.
- Código:
if keyboard_check(vk_right){
image_xscale = 1;
}else if keyboard_check(vk_left){
image_xscale =-1;
}
Sobre seu jogo, não tenho muito o que dizer pois o mesmo está bem no começo... Só recomendo que use cores menos vivas.
Enfim, flws...
Obrigado Willy, seu nome já vai estar nos agradecimentos
vitorfernandes13- Games Ranking :
Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» [Resolvido]Problemas no sprite
» Problemas com troca de sprite
» Problemas com animação de Sprite
» Problemas com sprite offset e lengthdir !!
» Problemas com criação de sprite através de surface
» Problemas com troca de sprite
» Problemas com animação de Sprite
» Problemas com sprite offset e lengthdir !!
» Problemas com criação de sprite através de surface
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos