Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

[GAME MAKER] instance_change() dúvida

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Foxy Of Jungle
Programador
Programador
Reações: 0
Mensagens: 153
Localização: Brasil
Contato:

[GAME MAKER] instance_change() dúvida

Mensagem por Foxy Of Jungle » Qua Jun 13, 2018 8:37 pm

Eu tenho 2 objetos, quero que o objeto 1 se transforme no objeto 2 e o objeto 2 se transforme no objeto 1 ao mesmo tempo, parece confuso mas esta imagem ajudará:

Imagem

E depois de 10 segundos essas instâncias voltem a ser elas mesmas, (não quero usar image_index)

É tipo o Super Mario World onde tem aquele Pow [P] que quando pisa transforma as moedas em rochas e rochas em moedas.


Eu tentei isto mas não funciona corretamente (ao ler da pra entender porquê)

Código: Selecionar todos

with(obj_block_rock) {instance_change(obj_coin,1)}
with(obj_coin) {instance_change(obj_block_rock,1)}
alarm[11]=10*room_speed //10 sec
e no alarm[11]

Código: Selecionar todos

with(obj_block_rock) {instance_change(obj_coin,1)}
with(obj_coin) {instance_change(obj_block_rock,1)}
Apenas um dos objetos se transforma no outro e fica "bugado"

Algúem sabe alguma alternativa?

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: [GAME MAKER] instance_change() dúvida

Mensagem por None » Qua Jun 13, 2018 11:09 pm

Faz tudo dentro do objeto Control e usar o instance destroy.

Não precisa do with.
Porém ha um problema neste modelo, você precisa avisar quem vai mudar, não sei se você tem dois objetos diferentes para a pedra, mas se não tiver você precisar informar que está é a pedra que vira moeda e visse versa.
Um jeito é criar uma variável chamada virapedra e viramoeda por exemplo, aí no Destroy event do objeto ele chega, se sua variável de virar for true ele então cria uma pedra/moeda em seu lugar, se for false ele não faz nada.
E para garantir que quando o player pegue a moeda, está não vire pedra você faz no momento de colisão com o player o valor da variável da moeda mudar para false, mesmo esquema no evento em que o player de uma cabeçada na pedra.

Desculpe pelos erros, estou no celular...
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
Foxy Of Jungle
Programador
Programador
Reações: 0
Mensagens: 153
Localização: Brasil
Contato:

Re: [GAME MAKER] instance_change() dúvida

Mensagem por Foxy Of Jungle » Sex Jun 15, 2018 10:33 pm

Obrigado pela resposta None, todavia eu já havia pensado nisso, é que eu não queria colocar códigos no Destroy da moeda ou da rocha, queria transformá-las só no Control, mas acho que a única alternativa é usar as variáveis no Destroy mesmo.
OBS: Eu quero transformar todos as moedas em rochas e todas rochas em moedas.

VLW!

Responder

Quem está online

Usuários navegando neste fórum: Bing [Bot] e 1 visitante