Entrar
Últimos assuntos
» Preciso de ajudapor AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 18:28
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» 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
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
» efeito de Rastro[Resolvido]
» Rastro GM
» Rastro na tela
» efeito de rastro e velocidade
» Rastro de barco na água
» Rastro GM
» Rastro na tela
» efeito de rastro e velocidade
» Rastro de barco na água
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos
|
|