Entrar
Últimos assuntos
» Colisões não funcionandopor RastaMaan Hoje à(s) 19:49
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Hoje à(s) 16:45
» Preciso de ajuda
por 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
» 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
como mudar para sprite animada numa colisao
4 participantes
Página 1 de 1
como mudar para sprite animada numa colisao
bom makers é o seguinte, eu estou desenvolvendo um jogo de plataforma:lol: , estava indo tudo bem até agora, só que ja faz 2 dias que eu venho tentando fazer com que o sprite mude apos uma colisao e nao consigo:pale: . deixa eu explicar melhor.
o jogo é o seguinte
o objeto esqueleto cospe fogo e o fogo vai colidir com o meu personagem.
bom
no evento colisao com o fogo eu estava tentando usar esse codigo
e coloquei no codigo do objeto fogo o seguinte
ou seja quando o objeto_fogo colidir com personagem o objeto fogo será destruido
e a sprite do personagem mudaria para outra sprite.
mas o que acontece é que o personagem muda de sprite; só que rapidamente, mas quando eu apago o codigo "instance_destroy" o sprite roda certinho.
ja tente colocar "image_index, image_speed" , mas nao funciona.
eu acho que o problema esta no instance_destroy pois quando eu apago roda liso.
por favor me ajudem. eu nao sou iniciante sou intermediario, e acredito que voces makers profissionais pode me ajudar. desde ja obrigado. um abraçao galera.
o jogo é o seguinte
o objeto esqueleto cospe fogo e o fogo vai colidir com o meu personagem.
bom
no evento colisao com o fogo eu estava tentando usar esse codigo
- Código:
sprite_index=spr_personagem
e coloquei no codigo do objeto fogo o seguinte
- Código:
instance_destroy()
ou seja quando o objeto_fogo colidir com personagem o objeto fogo será destruido
e a sprite do personagem mudaria para outra sprite.
mas o que acontece é que o personagem muda de sprite; só que rapidamente, mas quando eu apago o codigo "instance_destroy" o sprite roda certinho.
ja tente colocar "image_index, image_speed" , mas nao funciona.
eu acho que o problema esta no instance_destroy pois quando eu apago roda liso.
por favor me ajudem. eu nao sou iniciante sou intermediario, e acredito que voces makers profissionais pode me ajudar. desde ja obrigado. um abraçao galera.
jairo025- Data de inscrição : 29/04/2014
Reputação : 10
Número de Mensagens : 31
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como mudar para sprite animada numa colisao
Coloque a colisão só em um objeto para ver se funciona direito
Na colisão do personagem com o fogo assim:
Na colisão do personagem com o fogo assim:
- Código:
sprite_índex=spr_personagem;
obj_fogo.instance_destroy();
mumiaz- Data de inscrição : 21/06/2014
Reputação : 5
Número de Mensagens : 13
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como mudar para sprite animada numa colisao
valew cara por tentar, mas esse codigo nao funcionou, deu erro de variable name expected
jairo025- Data de inscrição : 29/04/2014
Reputação : 10
Número de Mensagens : 31
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como mudar para sprite animada numa colisao
posta o erro
mumiaz- Data de inscrição : 21/06/2014
Reputação : 5
Número de Mensagens : 13
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como mudar para sprite animada numa colisao
Cara, eu acredito que o problema não está na colisão e sim no step. Se o seu personagem está andando pra um lado ou pra outro você deve estar dando comandos para ele trocar de sprite em alguma outra parte do código.
Exemplo, se vc tem um comando para botão direito ou esquerdo e nesse comando você indica que a sprite tem que trocar, então na hora da colisão esse comando vai se sobrepor ao da colisão.
sacou?
você vai precisar criar uma variável que mostre o estado do personagem, parado, andando pra direita, esquerda, pulando e sendo acertado pelo fogo.
Só aí é que você vai poder numa colisão mudar o estado por alguns segundos necessários pra tocar sua animação e então voltar ao normal.
Exemplo, se vc tem um comando para botão direito ou esquerdo e nesse comando você indica que a sprite tem que trocar, então na hora da colisão esse comando vai se sobrepor ao da colisão.
sacou?
você vai precisar criar uma variável que mostre o estado do personagem, parado, andando pra direita, esquerda, pulando e sendo acertado pelo fogo.
Só aí é que você vai poder numa colisão mudar o estado por alguns segundos necessários pra tocar sua animação e então voltar ao normal.
7hiagomp- Data de inscrição : 21/04/2014
Reputação : 24
Número de Mensagens : 124
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: como mudar para sprite animada numa colisao
Escreve na colisão do Player com o Fogo:
Flw
- Código:
sprite_index=spr_personagem; //Muda a sprite
with (obj_fogo) //Executa a seguinte no obj_fogo
{
instance_destroy(); //Destroi o obj_fogo
}
- Codigo With no Help do Game Maker Studio:
- The "With" Construction
This section explains the various uses for "with" in GameMaker: Studio.
As indicated in the section Addressing Variables in Other Instances, it is possible to read and change the value of variables in other instances. But in a number of cases you want to do a lot more than just change a single variable with those other instances. For example, imagine that you want to move all the ball objects in your game 8 pixels. You may think that this is achieved simply by the following piece of code:
obj_ball.y = obj_ball.y + 8;
But this is not correct, as the right side of the assignment gets the value of the y-coordinate of the first ball and adds 8 to it. Next this new value is set as y-coordinate of all balls, so the result is that all balls get the same y-coordinate, and even if you use the following:
obj_ball.y += 8;
it will have exactly the same effect because it is simply an abbreviation of the first statement. So how do we achieve this? For this purpose there exists the with statement in GML. Its global form is:
with () indicates one or more instances, and for this you can use an instance id, the name of an object (which indicates all instances of this object are to run the code block) or one of the special keywords (all, self, other). is now executed for each of the indicated instances, as if that instance is the current (self) instance. So, to move all instances of the ball object 8 pixels down, you can type:
with (obj_ball) y += 8;
If you want to execute multiple statements, put curly brackets around them, the same as you would around any other program. So for example, to move all balls to a random position, you can use:
with (obj_ball)
{
x = random(room_width);
y = random(room_height);
}
Note that, within the statement(s), the indicated instance has become the target (self) instance that runs the code block, which means that the statements the original instance (that contains the "with" and the code block) has become the other instance. So for example, to move all balls to the position of the current instance, you can type this:
with (obj_ball) { x = other.x; y = other.y; }
The with statement is an extremely powerful tool and is useful in many, many circumstances so it is important that you understand fully how it can be used. To help there are a few more examples of use below:
with (instance_create(x, y, obj_Ball))
{
speed = other.speed;
direction = other.direction;
}
The above code will create an instance of obj_Ball and assign it the speed and direction of the instance that runs the whole code block.
with (instance_nearest(x, y, obj_Ball))
{
instance_destroy();
}
The above code will destroy the instance of obj_Ball nearest to the instance running the code.
var inst;
inst = noone;
with (obj_ball)
{
if str > other.str inst = id;
}
if inst != noone target = inst;
The above code is slightly more complex than previous ones due to it using a local variable. This variable is local to the script and not to the instance and so can be used and accessed by all instances that are referenced within the code block. So, in the code we have set it to the special keyword noone and then use the "with" construction to have every instance of obj_Ball check their "str" variable against that of the instance running the code block. If the value of the variable is larger, then they store their unique id in the "inst" local variable, meaning that at the end of the code, only the instance with a value greater than the calling instance (or the keyword noone if none are larger) will be stored in the local variable inst. For more information on local variables see the section Variables And variable Scope.
Flw
Tedi Ripper- Games Ranking :
Data de inscrição : 21/11/2010
Reputação : 25
Número de Mensagens : 777
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Como eu faço mudar o sprite quando subir numa rampa?
» bala em colisao com player mudar para sprite de explosao
» como mudar de sprite apenas quando houver colisão com o player?
» Como mudar a Sprite de andando para correndo.
» Como verificar se o player está no ar para ele mudar de sprite?
» bala em colisao com player mudar para sprite de explosao
» como mudar de sprite apenas quando houver colisão com o player?
» Como mudar a Sprite de andando para correndo.
» Como verificar se o player está no ar para ele mudar de sprite?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos