Conectar-se
Quem está conectado
20 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 20 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 08/07/2011
Número de Mensagens : 25
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Mudar objeto ao começar e acabar musica

em Qui 22 Set 2011, 18:49
Oi gente, queria saber como por pra quando uma música começar um objeto se tornar outro objeto, e quando a música acabar virar o objeto que era antes.


Última edição por Mew Mario em Sex 23 Set 2011, 20:10, editado 1 vez(es)
avatar
Data de inscrição : 13/10/2010
Número de Mensagens : 149
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Mudar objeto ao começar e acabar musica

em Qui 22 Set 2011, 19:56
Primeiro de tudo, você precisa das variáveis que guardam os dados.
Coloque uma para saber se a musica está ou não tocando (musica_tocando=false).
Quando ela começar a tocar, mude musica_tocando para true.
E para o obj realizar os seguintes passos, colque eles dentro de um if (musica_tocando) ou if (musica_tocando=true), ambos tem o mesmo significado para o computador.
Se você quiser somente trocar a figura do obj use sprite_index(spr_tocando_musica)
Mas se for para trocar o obj, você destrói ele primeiro ou então faz com que fique inativo,
instance_destroy()
ou um comando que não sei no momento para tornar o obj inativo ou invísivel enquanto o outro atua, e cria o outro ou ativa-o,
instance_create(x,y,obj_musica)
novamente para ativar/desativar eu não sei um código.
Aí, quando a música acabar, coloque o sprite original de volta, sprite_index(spr_original)
ou recrie/reative o obj destruído/desativado, instance_create(x,y,obj_original)
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 10/06/2010
Número de Mensagens : 2704
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 10

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Mudar objeto ao começar e acabar musica

em Qui 22 Set 2011, 23:10
Olá Mew Mario,

Bom...não tenho total certeza, é só uma lógica, mas você pode fazer assim:
Código:
if sound_play=true //Se o som estiver tocando
{
instance_change(objeto1,0) //Virar tal objeto, mude o "objeto1" para o objeto que queira que se transforme
}
else //Se não
{
instance_change(objeto0,0) //Virar tal objeto, mude o "objeto0" para o objeto de antes
}
Não sei se dará certo, só sei que pelo menos não tá com nenhum erro, e caso queira saber o evento, coloque no Create ou no Step.
avatar
Data de inscrição : 13/10/2010
Número de Mensagens : 149
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Mudar objeto ao começar e acabar musica

em Qui 22 Set 2011, 23:47
Explorei o código do Tsurugi e achei alguns possíveis erros:
Primeiro explicarei como usar o instance_change.
Temos:
Código:
instance_change((obj1, obj2, ..., objn), perf) // para mais de um obj a ser transformado
//ou
instance_change(obj,perf) // para apenas um
O perf é o seguinte: (difícil de explicar em português)
Pode assumir true(1) ou false(0).
Se for true, ele executará os códigos para instance_destroy() programados do obj inicial e o Create do obj no qual estamos transformando o obj inicial.
Se for false, ele não faz isso, ou seja, ele continua do mesmo jeito, sem novas vars, basicamente, ele adicionará os eventos do outro obj e tira os do inicial, sem executar o Create nem o Destroy.
Ex.: Temos o
obj_1 com 2 vars no Create, x e y e
obj_2 com 1 var no Create, x
O obj_2 vai ser transformado no obj_1 com a função que está em questão, se o obj_2 não possuir um y instanciado em seu Create, qualquer código que envolver esse y dará erro. Isso tudo se usarmos o código com o perf sendo 0. Do contrário, dará certo.
Não sei se ficou claro.
Então, se colocarmos o instance_change, para voltar ao normal, no else, ele não funcionará se o perf for 1, pois o obj inicial contará como destruído, e somente voltará se possuirmos um evento para trazê-lo de volta no obj que ele foi transformado.
Outra coisa é que se você usar o perf como 0, precisará antes instanciar as mesmas vars do obj que ele se transformará, se não, dará erro em algum código que contenha uma var local.
avatar
Data de inscrição : 08/07/2011
Número de Mensagens : 25
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Mudar objeto ao começar e acabar musica

em Sex 23 Set 2011, 20:08
Valeu gente, mas ja consegui de outro modo aqui. cheers
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum