Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
como fazer um rastro deste tipo?
+4
fredcobain
cascavelo
JoaoVanBlizzard
reinaldoferreira
8 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
como fazer um rastro deste tipo?
pelo q notei e q o rastro acompanha a imagem frame a frame tipo como se a imagem repetice nao sei explicar sei q nem tem alpha ali todos tuto de rastro q vi nao parecem com este rastro
eu queria fazer um rastro deste tipo desse gif eu tenho um codigo de rastro aqui mas por mais q eu ajuste nao fica parecido
aqui o codigo
no draw do obj_rastro
eu queria fazer um rastro deste tipo desse gif eu tenho um codigo de rastro aqui mas por mais q eu ajuste nao fica parecido
aqui o codigo
no draw do obj_rastro
- Código:
if image_alpha>0 {image_alpha-=0.1} else {instance_destroy()}
Última edição por reinaldoferreira em Sáb 21 Set 2013, 08:35, editado 1 vez(es) (Motivo da edição : modificaçoes necessarias para ajudar ao entendimento)
reinaldoferreira- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
tente adiconar essa função no event create:
o primeiro valor deixa mais vermelho .
o segundo valor deixa mais verde.
o terceiro valor deixa mais azul.
eu pessoalmente recomendaria que você criasse uma sprite alterada para exibir tal coloração que ficaria mais dinâmico, mas acredito que da forma que fiz em personagens claros como o ryu não terá problemas.
Edit: Se você está usando o evento Draw use esse codigo para execultar os eventos:
espero ter ajudado, duvidas, só perguntar ok.
- Código:
image_blend=make_color_rgb(30,30,200)
o primeiro valor deixa mais vermelho .
o segundo valor deixa mais verde.
o terceiro valor deixa mais azul.
eu pessoalmente recomendaria que você criasse uma sprite alterada para exibir tal coloração que ficaria mais dinâmico, mas acredito que da forma que fiz em personagens claros como o ryu não terá problemas.
Edit: Se você está usando o evento Draw use esse codigo para execultar os eventos:
- Código:
draw_sprite_ext
(
sprite_index,
image_index,
x,
y,
image_xscale,
image_xscale,
image_angle,
image_blend,
image_alpha
)
espero ter ajudado, duvidas, só perguntar ok.
Última edição por JoaoVanBlizzard em Sáb 21 Set 2013, 10:04, editado 1 vez(es) (Motivo da edição : adicionar algo mais)
JoaoVanBlizzard- Games Ranking :
Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
Re: como fazer um rastro deste tipo?
a unica coisa q mudou foi a cor eu quero o estilo daquelas trilhas basicamente se eu tiver um sprite de um cara dando um salto pra frente eu quero q outro azul dê o mesmo salto depois de um tempo q o primeiro salto foi executado ai ele se destruiria quando chegase no ponto q o primeiro salto terminou esse codigo q vc me deu nao fez nada so mudou a cor do rastro pra azul ainda continua nem um pouco parecido com o rastro do gif '-'
reinaldoferreira- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
eu entendi o que você quis dizer agora, mas é um pouco complicado explicar na teoria como funciona, voce teria que fazer um script para registrar a primeira ação do ryu, e colocar um alarme para que quando esse tempo acabasse ele gerasse a sombra com o mesmo valor da imagem que o ryu ta gerando , porem a sprite da sombra deve ser mais rapida que a do ryu e quando tivessem o mesmo valor ela se destruisse, outra coisa que notei é que quando o ryu finaliza seu golpe as sombras se destroem entes de retornarem a ele, você poderia simplesmente gerar a sombra iniciando com o mesmo valor do ryu, só que ao invez de ser mais rapida, deixe- a mais lenta que o ryu, tente um codigo assim:
coloque esse código no evento step
coloque esse código no evento step
- Código:
//aqui cria sombra do ryu
if(!place_meeting(x,y,obj_sombra_do_ryu))
{ID=instance_create(x,y,obj_sombra_do_ryu)}
with ID {image_index=ryu.image_index }
JoaoVanBlizzard- Games Ranking :
Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
Re: como fazer um rastro deste tipo?
A maneira mais fácil de fazer é usando o sistema de partículas, deixando que o próprio sistema controle tudo.
O sprite_index seria usado como partícula e o emiter seria negativo para gerar uma partícula e pular uns steps antes de gerar outra é bem simples e usando o particle designer ele já faz todos os cálculos é só copiar para o create do objeto.
O sprite_index seria usado como partícula e o emiter seria negativo para gerar uma partícula e pular uns steps antes de gerar outra é bem simples e usando o particle designer ele já faz todos os cálculos é só copiar para o create do objeto.
cascavelo- Games Ranking :
Notas recebidas : A - A - A - A - A -A -C
Data de inscrição : 08/12/2011
Reputação : 71
Número de Mensagens : 1011
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 1
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
e como seria da um exemplo ai eu sou novato ainda em gm
eu queria fazer o seguinte pegar a imagem do movimento e colocar na tela um tempinho depois da primeira ser executada depois fazer isso com o tempo da copia e colocar outra mais atrasada q a copia depois fazer mais duas vez para ficar 3 copias pela imagem gif sao 3 copias do sprite original q se repete alguem poderia ter uma ideia ai e fazer um exemplo:roll:
eu queria fazer o seguinte pegar a imagem do movimento e colocar na tela um tempinho depois da primeira ser executada depois fazer isso com o tempo da copia e colocar outra mais atrasada q a copia depois fazer mais duas vez para ficar 3 copias pela imagem gif sao 3 copias do sprite original q se repete alguem poderia ter uma ideia ai e fazer um exemplo:roll:
reinaldoferreira- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
Faz assim:
Crie um obj_sombra.
No create, coloque esse código:
Crie um obj_sombra.
No create, coloque esse código:
- Código:
Create Event:
image_speed=0
sprite_index=Ryu.sprite_index //obviamente estou supondo que o nome do objeto principal se chama Ryu... se não for, substitua.
image_index=Ryu.image_index
image_blend=c_blue;
- Código:
image_alpha-=0.1
if (image_alpha<=0){instance_destroy()}
- Código:
instance_create(x,y,obj_sombra)
fredcobain- Games Ranking :
Data de inscrição : 14/04/2011
Reputação : 163
Número de Mensagens : 692
Prêmios :
x 0 x 3 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
nao vai funcionar por q tou usando maquina de estados ! e na sombra nao tem alpha eu to quase elaborando uma tecnica boa pra fazer isso mas to com problemas eu quero criar um obj_vazio toda vez q eu for fazer um golpe de sombra eu crio uma instancia do objeto vazio e mando um sprite la pra dentro com o tempo do golpe depois deleto isso vai polpar ficar fazendo objetos
mas eu so sei por inquanto e criar o sprite dentro do objeto vazio
pronto ficaria assim ficar assim
em teoria haha
mas eu so sei por inquanto e criar o sprite dentro do objeto vazio
- Código:
rastro=instance_create(74,440,obj_rastro1)//cria um objeto e armazena a identidade dela na variavel "rastro"
rastro.sprite_index = spr_chute1
pronto ficaria assim ficar assim
em teoria haha
reinaldoferreira- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
Eu usava bastante esse efeito.
Primeiro você precisaria de um objeto a parte, o objeto que será a "sombra".
No CREATE dele você precisa fazer com que ele "imite" a condição do player, ou seja, que ele fique igual a ele. Algo mais ou menos assim:
Agora, pra fazer a sombra sumir você pode fazer com que ela vá desaparecendo, ou permaneça opaca alguns segundos e suma. Se for sumindo, use isto no STEP:
Aí se quiser uma cor diferente, só trocar ali no c_blue. Pra fazer o jogador criar a sombra é mole. Parecido com o que eu botei antes, no CREATE do player:
[/b]
Em tese, acho que é isso. Foi de cabeça.
[/b]
Primeiro você precisaria de um objeto a parte, o objeto que será a "sombra".
No CREATE dele você precisa fazer com que ele "imite" a condição do player, ou seja, que ele fique igual a ele. Algo mais ou menos assim:
- Código:
sprite_index=player.sprite_index
image_index=player.image_index
image_xscale=player.image_xscale
image_speed=0
Agora, pra fazer a sombra sumir você pode fazer com que ela vá desaparecendo, ou permaneça opaca alguns segundos e suma. Se for sumindo, use isto no STEP:
- Código:
image_alpha-=0.02 if image_alpha<0 instance_destroy()
- Código:
timer=20
- Código:
timer-=1 if timer<0 instance_destroy
- Código:
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle,c_blue,image_alpha)
Aí se quiser uma cor diferente, só trocar ali no c_blue. Pra fazer o jogador criar a sombra é mole. Parecido com o que eu botei antes, no CREATE do player:
[/b]
- Código:
timer=3
- Código:
timer-=1 if timer<0{instance_create(x,y,sombra_obj)timer=3}
Em tese, acho que é isso. Foi de cabeça.
[/b]
SIGILOSO- Games Ranking :
Notas recebidas : A+A+A+A+A+A+A
Data de inscrição : 06/06/2009
Reputação : 39
Número de Mensagens : 2267
Prêmios :
x 0 x 2 x 0
x 4 x 2 x 1
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
'-' muito complicado
eu to elaborando um jeito mais facil
so ta faltando um geito de deletar o objeto quando acabar a animaçao e tambem quero fazer o rastro aparecer uma distancia atras do objeto do meu personagem ele so ta aparecendo num lugar especifico da tela (74,440, sei q sao esses numeros os responsaveis preciso saber como fazer ele aparecer numa posiçao relativa ao objeto do personagem
eu to elaborando um jeito mais facil
- Código:
rastro=instance_create(74,440,obj_rastro1)//cria um objeto e armazena a identidade dela na variavel "rastro"
rastro.sprite_index = spr_chute1
rastro.image_speed=0.23
so ta faltando um geito de deletar o objeto quando acabar a animaçao e tambem quero fazer o rastro aparecer uma distancia atras do objeto do meu personagem ele so ta aparecendo num lugar especifico da tela (74,440, sei q sao esses numeros os responsaveis preciso saber como fazer ele aparecer numa posiçao relativa ao objeto do personagem
Última edição por reinaldoferreira em Seg 23 Set 2013, 04:52, editado 1 vez(es)
reinaldoferreira- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
Vc tá indo por um caminho muito complicado. Veja que o meu método e o do sigi são idênticos. O fato de vc estar usando máquina de estados finitos não é desculpa.
fredcobain- Games Ranking :
Data de inscrição : 14/04/2011
Reputação : 163
Número de Mensagens : 692
Prêmios :
x 0 x 3 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
mas os metodos seus nao vo conseguir o mesmo resultado'-' vai sair nada ver eu quero igual , nao parecido os detalhes q contam
pra mim este metodo q falei e mais facil apenas um codigo dentro do estado do golpe. isso é mais complicado? a unica coisa q nao sei e deleta o objeto criado ainda to pesquisando
pra mim este metodo q falei e mais facil apenas um codigo dentro do estado do golpe. isso é mais complicado? a unica coisa q nao sei e deleta o objeto criado ainda to pesquisando
- Código:
rastro=instance_create(74,440,obj_rastro1)//cria um objeto e armazena a identidade dela na variavel "rastro"
rastro.sprite_index = spr_chute1
rastro.image_speed=0.23
// aqui tenho q por um codigo para deletar nao sei ainda alguem pode dar uma força ai
reinaldoferreira- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
Quem disse q esse vai ficar mais parecido nos detalhes? Vc já experimentou os outros na prática?
fredcobain- Games Ranking :
Data de inscrição : 14/04/2011
Reputação : 163
Número de Mensagens : 692
Prêmios :
x 0 x 3 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
olha o tanto de codigo q teria de usar com os outros modos com esse modo q to falando se eu fosse fazer um jogo de luta 3 objetos daria para todos os personagens so presiso saber como deletar essa parte que falei ...... na pratica o modo deles é um azul so. eu quero como no gif tres tons de azul diferentes seguindo
rastro=instance_create(74,440,obj_rastro1)//cria um objeto e armazena a identidade dela na variavel "rastro"
rastro.sprite_index = spr_chute1
rastro.image_speed=0.23
// aqui tenho q por um codigo para deletar nao sei ainda alguem pode dar uma força ai
rastro=instance_create(74,440,obj_rastro1)//cria um objeto e armazena a identidade dela na variavel "rastro"
rastro.sprite_index = spr_chute1
rastro.image_speed=0.23
// aqui tenho q por um codigo para deletar nao sei ainda alguem pode dar uma força ai
reinaldoferreira- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
Se o seu problema é só deletar o rastro depois de algum tempo, coloque um alarme no create:
ex:alarm[0] = 20n
e no evento alarm0, coloque :
instance_destroy() ;
ex:alarm[0] = 20n
e no evento alarm0, coloque :
instance_destroy() ;
fredcobain- Games Ranking :
Data de inscrição : 14/04/2011
Reputação : 163
Número de Mensagens : 692
Prêmios :
x 0 x 3 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
isso nao daria certo por q eu vo usar o mesmo objeto depois para outro golpe com outro tempo tenho q deletar ele fora dele
rastro=instance_create(74,440,obj_rastro1)//cria um objeto e armazena a identidade dela na variavel "rastro"
rastro.sprite_index = spr_chute1
rastro.image_speed=0.23
// aqui tenho q por um codigo para deletar nao sei ainda alguem pode dar uma força ai
rastro=instance_create(74,440,obj_rastro1)//cria um objeto e armazena a identidade dela na variavel "rastro"
rastro.sprite_index = spr_chute1
rastro.image_speed=0.23
// aqui tenho q por um codigo para deletar nao sei ainda alguem pode dar uma força ai
reinaldoferreira- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
então, em vez de instance_destroy(), coloca visible=false;
fredcobain- Games Ranking :
Data de inscrição : 14/04/2011
Reputação : 163
Número de Mensagens : 692
Prêmios :
x 0 x 3 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
No evento Create, coloque:
- Código:
ghost := 10; // Tamanho do rastro
disappear = 0.1; // Qual será o alpha do último desenho da fila
_r := 0;
ghost := max(1, ghost);
for (_r := 0; _r < ghost; _r += 1)
begin
// Armazena os estados de cada um
shadow[_r, 0] := sprite_index;
shadow[_r, 1] := image_index;
shadow[_r, 2] := x;
shadow[_r, 3] := y;
shadow[_r, 4] := image_xscale;
shadow[_r, 5] := image_yscale;
shadow[_r, 6] := image_angle;
shadow[_r, 7] := image_blend;
shadow[_r, 8] := image_alpha;
end;
No evento End Step, coloque:
- Código:
// Atualiza as coordenadas e desenhos
for (_r := 0; _r < ghost - 1; _r += 1)
begin
shadow[_r, 0] := shadow[_r + 1, 0];
shadow[_r, 1] := shadow[_r + 1, 1];
shadow[_r, 2] := shadow[_r + 1, 2];
shadow[_r, 3] := shadow[_r + 1, 3];
shadow[_r, 4] := shadow[_r + 1, 4];
shadow[_r, 5] := shadow[_r + 1, 5];
shadow[_r, 6] := shadow[_r + 1, 6];
shadow[_r, 7] := shadow[_r + 1, 7];
shadow[_r, 8] := disappear + (max(0, image_alpha - disappear)/ghost) * _r;
end;
shadow[ghost - 1, 0] := sprite_index;
shadow[ghost - 1, 1] := image_index;
shadow[ghost - 1, 2] := x;
shadow[ghost - 1, 3] := y;
shadow[ghost - 1, 4] := image_xscale;
shadow[ghost - 1, 5] := image_yscale;
shadow[ghost - 1, 6] := image_angle;
shadow[ghost - 1, 7] := image_blend;
shadow[ghost - 1, 8] := image_alpha;
- Código:
// Desenha a sombra
for (_r := 0; _r < ghost; _r += 1) draw_sprite_ext(shadow[_r, 0],shadow[_r, 1],shadow[_r, 2],shadow[_r, 3],shadow[_r, 4],shadow[_r, 5],shadow[_r, 6],shadow[_r, 7],shadow[_r, 8]);
// Desenha o sprite
draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha);
Grande abraço.
GameMakerTutoriais- Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
cara eu quero deletar o rastro pelo lado de fora do objeto sem colocar alarme repare este codigo ele cria um objeto >> no meu objeto sem nada dentro codigo nenhum dentro se eu colocar um alarme la vai deletar em um tempo so depois como eu ultilizo denovo em outro golpe de codigo denovo -_-
rastro.delete??? como destroy sem colocar nada dentro -_-
ai eu vou colocar if rastro.sprite_index=4 rastro.delete <<< supondo q fosse assim q deleta o objeto dentro da variavel
- Código:
rastro=instance_create(74,440,obj_rastro1)//cria um objeto e armazena a identidade dela na variavel "rastro"
rastro.sprite_index = spr_chute1
rastro.image_speed=0.23
rastro.delete??? como destroy sem colocar nada dentro -_-
ai eu vou colocar if rastro.sprite_index=4 rastro.delete <<< supondo q fosse assim q deleta o objeto dentro da variavel
reinaldoferreira- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como fazer um rastro deste tipo?
kra basta criar a sprite no photoshop assim! '-'
P.S. eu sei que desenterrei um tópico um pouco velho, peço desculpas por quebrar as regras do forum, mas eu percebi que reinaldoferreira não falou nada por ultimo
P.S. eu sei que desenterrei um tópico um pouco velho, peço desculpas por quebrar as regras do forum, mas eu percebi que reinaldoferreira não falou nada por ultimo
Gutorrock- Data de inscrição : 15/02/2014
Reputação : 3
Número de Mensagens : 28
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Página 1 de 2 • 1, 2
Tópicos semelhantes
» Como fazer rastro de tiros
» [Duvida] Como fazer um rastro com particulas?
» Como fazer um tipo de checador de update?
» Como fazer tipo um elevador GM8 Pro
» Como fazer movimento tipo Snake
» [Duvida] Como fazer um rastro com particulas?
» Como fazer um tipo de checador de update?
» Como fazer tipo um elevador GM8 Pro
» Como fazer movimento tipo Snake
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos