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
Fazer Obj se mexer mudando o Sprite
3 participantes
Página 1 de 1
Fazer Obj se mexer mudando o Sprite
Oi galerinha...Sou eu dinovo!
Bom,minha duvida é,como faço pra,por exemplo,qd eu pressiono a tecla esquerda,o personagem anda um passo a esquerda,e muda o sprite?
Eu ja tentei de um jeito,so q ele fika se mexendo sozinho(ñ mudando de lugar,mas se mexendo no lugar q ele tah),e qd eu ando ele para numa posição fixa e muda de lugar...Q comandos eu uso?
Bom,minha duvida é,como faço pra,por exemplo,qd eu pressiono a tecla esquerda,o personagem anda um passo a esquerda,e muda o sprite?
Eu ja tentei de um jeito,so q ele fika se mexendo sozinho(ñ mudando de lugar,mas se mexendo no lugar q ele tah),e qd eu ando ele para numa posição fixa e muda de lugar...Q comandos eu uso?
Leon Hoshigaki- Data de inscrição : 22/08/2010
Reputação : 0
Número de Mensagens : 6
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Fazer Obj se mexer mudando o Sprite
Existe muitos tópicos sobre isso, use o busca! Mas eu recomendo à você ler os tutoriais do RedDragon. Então jogue a preguiça pro lado e leia. xD
Tutoriais do RedDragon
Tutoriais do RedDragon
Luan Maia- Games Ranking :
Notas recebidas : D+C+C+D
Data de inscrição : 01/07/2010
Reputação : 2
Número de Mensagens : 404
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Fazer Obj se mexer mudando o Sprite
Use este simples Tuto de AlexFc para as Sprites:
Agora veja uns comandos básicos=
AlexFc escreveu:Alex FC escreveu:Aula 15 - Introdução a jogos - Sprites
Bom, nesta aula ensinarei as funções básicas do editor e configurador de sprites.
Para criar uma sprite clique no ícone com um pacman vermelho desenhado.
Depois de ter clicado a seguinte janela será aberta:
Este é o painel de configuração da sprite.
Nomeando uma sprite:
O nome da sprite criada é "sprite0". Mude o nome para que ele se identifique com a imagem. Coloque "pac_dir", quanto menor o nome da sprite melhor. Nesse fiz uma abreviação de "pacman_direita". Não use acentos ou letras maiúsculas, isso pode fazer o jogo não funcionar.
Abrindo uma imagem:
Para abrir uma imagem que esteja no seu computador clique em "Load Sprite".
Salve a imagem abaixo e abra ela:
Informações da imagem logo abaixo do botão "Load Sprite":
Width: Largura em pixels.
Height: Altura em pixels.
Number of subimages: Caso a imagem seja animada (.gif) aqui será mostrado o numero de imagens que forma a animação.
Depois de feito, vamos configura-la:
Precise collsion checking: marque esta opção quando a sprite é um personagem ou objeto que não tem forma de quadrado.
Smooth Edges: Borrar cantos da sprites.
Preload texture: carregar sprite na memória logo que o jogo iniciar.
Origin:
x: x inicial da sprite.
y: y inicial da sprite.
center: centralizar os dois pontos.
Bounding Box:
Deixe em automatic, raramente você vai usar as outras opções.
Transparent: indica se alguma cor da sprite deve ser considerada como sendo transparente. O fundo é determinada pela cor do primeiro pixel à esquerda na inferior da imagem. Portanto, certifique-se que nenhum pixel da imagem tem essa cor.
Botão "Edit Sprite": Abrirá um editor de imagens.
Com o editor você concerteza vai se dar bem, não precisa de explicações detelhadas.
Bom, agora que aprendemos a importar imagens para nosso jogo, vamos aprender a manipula-las ao nosso gosto. Baixe a engine a baixo:
http://www.fileden.com/files/2009/5/31/2462226/Aula_15_sprites.rar
Execute ela, veremos um simples movimento em quatro direções. Então para tal tarefa precisaríamos de 4 sprites ( direita, esquerda, baixo e cima), mas raciocine um pouco, a sprite direita e esquerda são as mesmas, só que invertidas. Então usaremos somente 1 sprite para a esquerda e para a direita, o GM tem uma variável que chama-se image_xscale que nos ajudará nessa tarefa de inverter a imagem.
OBS: Usando a variável image_xscale a imagem inverte-se sobre ponto inicial do x, então centralizei todos eles em todas as sprites. Tente deixar em 0, você verá que ao virar a direira ou esquerda parece que ele da um salto rápido para frente. A imagem abaixo explica os dois modos ( x centralizado e x não centralizado):
Você deve ter percebido que se não centralizarmos o x da imagem, a imagem invertida sai da posição atual. Então centralizamos todos os pontos x em todas as sprites para não haver esse bug. Perceba também que todas tem as mesmas medidas, isso também é para evitar possíveis bugs.
Agora vamos ver todas as variaveis de imagem que usaremos na movimentação do mario:
sprite_index: controla a sprite atual do objeto.
image_index: controla as subimagens.
image_speed: controla a velocidade da animação.
image_xscale: é a escala horizontal da imagem, essa variável que usaremos para inverter a imagem.
Agora va ao objeto mario no evento step, e abra o código, vamos ver a primeira parte:
- Código:
//direita
if keyboard_check(vk_right)//se a tecla direita é pressionada
{
sprite_index=mario_hor//muda para sprite horizontal do mario
image_xscale=1//escala horizontal é normal
if place_free(x+4,y){x+=4}
}
Aqui você ve a variável image_xscale com valor 1. Isso significa que ela não vai mudar, pois afinal temos o mario virado para direita, então não mudamos a escala.
Agora a segunda parte:
- Código:
//esquerda
else if keyboard_check(vk_left)//se a tecla esquerda é pressionada
{
sprite_index=mario_hor//muda para sprite horizontal do mario
image_xscale=-1//escala horizontal é invertida, logo se o mario estava virado pra direita vira para esquerda
if place_free(x-4,y){x-=4}
}
Continuamos a usar a mesma sprite, só que agora o valor é invertido -1. Isso faz com que a sprite inverta. Você pode utilizar qualquer valor nessa variável, mas lembre-se que a cada unidade o tamanho da sprite dobra. Se tivéssemos colocado -2, a sprite seria esticada horizontalmente e teria o dobro do tamanho anterior.
Nas outras partes do código, sempre utilizei image_xscale=1, para a sprite retornar ao normal, pois não precisamos inverter as outras sprites.
Para entender melhor essa e outras variáveis que comandam a imagem, fiz uma aula executável. Baixe ela no link a seguir:
http://www.fileden.com/files/2009/5/31/2462226/Aula_15_sprites.rar
Screenshot da aula:
Mas não devemos esquecer de uma coisa: Usar masks em nossos personagens. Mask é como se fosse a sprite original de seu objeto, mas ela não é vista. Geralmente usamos masks de forma retangular, pois a colisão com paredes fica muito melhor, sem travar nelas. Usamos uma mask em nosso mario, para ele não enroscar na parede ela tem o nome "mask_mario", veja que ela é retangular e tem o mesmo tamanho das sprites do mario. Ela também tem o x centralizado, pois é como se essa fosse a sprite permanente do mario, então na verdade ele é um retângulo com desenhos de mario. Retire a mask do mario e tente "deslizar" nas paredes, concerteza você ficará enroscado na parede, por isso o uso de masks é tão importante. Olhe este exemplo:
Enfim mais uma aula chega ao fim. Espero vocês na próxima. Vlw?
Próxima aula: Configurando como seu jogo será executado.
FLWS!
Agora veja uns comandos básicos=
- Código:
if keyboard_check( ord( 'W' ) )y-=5
if keyboard_check( ord( 'S' ) )y+=5
if keyboard_check( ord( 'A' ) )x-=5
if keyboard_check( ord( 'D' ) )x+=5 //y=altura e x=lados -> y-=5,ou seja, 5 pixels acima
Tópicos semelhantes
» como fazer o personagens andar mudando sprite
» Mudando a sprite do inimigo
» Mudando Sprite (gravidade)
» Mudando sprite com path
» duvida pulo duplo mudando de sprite
» Mudando a sprite do inimigo
» Mudando Sprite (gravidade)
» Mudando sprite com path
» duvida pulo duplo mudando de sprite
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos