Como trocar de objeto?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Como trocar de objeto?

Mensagem por DUDU951 em Dom 29 Jun 2014, 23:38

Oi,

Eu estou fazendo uma configuração na room Opções do meu jogo,
e queria dar a opção do jogador escolher se o valor do arquivo .ini será igual a true, ou a false.

Para isso, fiz duas sprites, uma com uma caixa de seleção não selecionada, e outra com  a caixa de seleção selecionada.

A idéia:
A caixa se inicia não selecionada, caso o jogador clique nela com o botão esquerdo do mouse, ela fica selecionada, e o valor do arquivo .ini se torna = true.
A caixa pode ser des_selecionada, e assim o valor de .ini se torna = false.

Como tentei fazer:
Como eu queria que tivesse como a caixa ser des_selecionada, achei que não daria certo tentar usar apenas um objeto, afinal, quando ela for des_selecionada o valor da .ini deverá ser igualado a false, e não a true.
Então criei esses dois objetos, com os seguintes Eventos/Ações:
________________________________________________________________
obj_nãoselecionada
Evento: Left Button
Ação1: Execute code:
Código:
ini_open("savegame.ini")
ini_write_real("Section","Key",true);
Ação2: Destroy the instance(self)
Ação3: Create instance of object obj_selecionada at position (40,40)

(Fiz as ações 2 e 3 em Drag and Drop mesmo, porque quando faço em código fico em dúvida se está certo ou não)

obj_selecionada
Evento: Left Button
Ação1: Execute code:
Código:
ini_open("savegame.ini")
ini_write_real("Section","Key",false);
Ação2: Destroy the instance(self)
Ação3: Create instance of object obj_nãoselecionada at position (40,40)
________________________________________________________________________

Mas por algum motivo quando clico com o botão esquerdo do Mouse em cima do objeto, não acontece nada..

O que eu fiz de errado?
Como eu posso concretizar minha idéia?

DUDU951

Número de Mensagens : 90
Idade : 17
Data de inscrição : 24/06/2014
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como trocar de objeto?

Mensagem por 7hiagomp em Seg 30 Jun 2014, 00:02

voce destruiu o objeto antes de criar a instance, se ele não tá mais lá como vai criar algo?

XD

instance destroy é a ultima coisa

cara, se o codigo já esta funcionando pra fazer true ou false não e melhor voce so trocar a subimagem do objeto? coloca uma sprite com 2 frames e se estiver ligada usa o frame 0 se estiver desliga usa o frame 1. mais simples do que fazer 2 objetos com 2 sprites diferentes, não?

7hiagomp

Número de Mensagens : 124
Idade : 31
Data de inscrição : 21/04/2014
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como trocar de objeto?

Mensagem por DUDU951 em Seg 30 Jun 2014, 00:24

7hiagomp escreveu:voce destruiu o objeto antes de criar a instance, se ele não tá mais lá como vai criar algo?

XD

instance destroy é a ultima coisa

cara, se o codigo já esta funcionando pra fazer true ou  false não e melhor voce so trocar a subimagem do objeto? coloca uma sprite com 2 frames e se estiver ligada usa o frame 0 se estiver desliga usa o frame 1.  mais simples do que fazer 2 objetos com 2 sprites diferentes, não?
Mas a questão é que o objeto não está nem desaparecendo da tela, então ele não está nem sendo destruído.. Será que é um bug?

Sobre a sua sugestão, o problema é que em um objeto está o código para para true, e no outro está código para false.. como vou fazer para um só objeto conter os dois códigos?
obs: quero que seja necessário usar apenas o botão esquerdo

DUDU951

Número de Mensagens : 90
Idade : 17
Data de inscrição : 24/06/2014
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como trocar de objeto?

Mensagem por gambit em Seg 30 Jun 2014, 02:11

tente instance_change

gambit

Número de Mensagens : 156
Data de inscrição : 22/06/2008
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://ssqt.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Como trocar de objeto?

Mensagem por DUDU951 em Seg 30 Jun 2014, 15:18

gambit escreveu:tente instance_change

Também não consegui.. Eu testei colocar a keyboard no lugar do botão esquerdo do mouse, e deu certo!

Será que o meu objeto está não selecionável?
Como faço para ele virar selecionável novamente?

DUDU951

Número de Mensagens : 90
Idade : 17
Data de inscrição : 24/06/2014
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como trocar de objeto?

Mensagem por 7hiagomp em Seg 30 Jun 2014, 18:04

DUDU951 escreveu:Sobre a sua sugestão, o problema é que em um objeto está o código para para true, e no outro está código para false.. como vou fazer para um só objeto conter os dois códigos?
obs: quero que seja necessário usar apenas o botão esquerdo

Cria uma sprite e põe os dois frames nela, um com a caixa marcada e desmarcada.
Cria um obj_caixa e coloca a sprite dele pro nome que você deu.
Considere frame 0 = desmarcado, frame 1 = marcado

no create vc digita
Código:
image_index = 0
image_speed = 0
box_check = false

no step vc põe
Código:
image_index = box_check
if mouse_check_button_pressed(mb_left) && distance_to_point(mouse_x, mouse_y) == 0
     {
      if box_check == false
         {
           box_check = true
           ini_open("savegame.ini")
           ini_write_real("Section","Key",true);
         }
         else
             {
              box_check = false
              ini_open("savegame.ini")
              ini_write_real("Section","Key",false);
             }
      }

tenta aew.


Última edição por 7hiagomp em Ter 01 Jul 2014, 19:29, editado 1 vez(es)

7hiagomp

Número de Mensagens : 124
Idade : 31
Data de inscrição : 21/04/2014
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como trocar de objeto?

Mensagem por DUDU951 em Seg 30 Jun 2014, 18:58

Valeu cara!
Pegou perfeitamente

Só mais uma coisa, assim,
Código:
Opção = ini_read_real("Section","Key","Default"
Ou seja, se no lugar do Default for true, Opção = true
Se for false, Opção = false
Se Opção = true, eu queria que a caixa já iniciasse marcada, daí como fica o código?

Eu até tentei fazer isso sozinho, mas não entendi 100% seu código

DUDU951

Número de Mensagens : 90
Idade : 17
Data de inscrição : 24/06/2014
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como trocar de objeto?

Mensagem por fredcobain em Seg 30 Jun 2014, 19:08

Vc vai ter que ir no create desse objeto e checar se no seu INI está salvo o valor "true" ou "false".

Se for true, atribua o sprite da caixa marcada, caso contrário, atribua o sprite da caixa desmarcada.

fredcobain

Ranking : Sem avaliações
Número de Mensagens : 691
Idade : 35
Data de inscrição : 14/04/2011
Reputação : 162
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como trocar de objeto?

Mensagem por DUDU951 em Seg 30 Jun 2014, 19:49

fredcobain escreveu:Vc vai ter que ir no create desse objeto e checar se no seu INI está salvo o valor "true" ou "false".

Se for true, atribua o sprite da caixa marcada, caso contrário, atribua o sprite da caixa desmarcada.

Mas eu não sei como atribuir a imagem..

A imagem da caixa desmarcada é a 0
E a da caixa marcada é a 1

DUDU951

Número de Mensagens : 90
Idade : 17
Data de inscrição : 24/06/2014
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como trocar de objeto?

Mensagem por gambit em Seg 30 Jun 2014, 20:27

image_index=ini_read_real("Section","Key","Default")

gambit

Número de Mensagens : 156
Data de inscrição : 22/06/2008
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://ssqt.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Como trocar de objeto?

Mensagem por DUDU951 em Seg 30 Jun 2014, 21:19

Não está dando certo não..

A idéia:
A caixa se inicia não selecionada caso Opção != true
A caixa se inicia selecionada caso Opção = true
Caso o jogador clique na caixa enquanto ela está não selecionada com o botão esquerdo do mouse, ela fica selecionada, e o valor do arquivo .ini se torna = true.
Caso o jogado clique nela enquanto ela está selecionada com o botão esquerdo do do mouse, ela fica selecionada, e o valor de .ini se torna = false.

Informações:
Código:
image_index = 0 //imagem caixa não selecionada
image_index = 1 // imagem caixa selecionada
Opção = ini_read_real("Section","Key","Default")
_________________________________________________
Edit:
Desisto, tá muito complicado, vou criar um objeto com a função de ativar, e embaixo dele vou colocar outro objeto, com a função de desativar.
Obrigado a todos!

DUDU951

Número de Mensagens : 90
Idade : 17
Data de inscrição : 24/06/2014
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como trocar de objeto?

Mensagem por 7hiagomp em Qua 02 Jul 2014, 16:41

Cara olha só, vamos lá. Eu vi esse topic ontem mas nao deu p te responder. O que tem de errado é o seguinte;

se você copiou o codigo que eu te passei ali encima e ele funcionou e depois vc adicionou uma variavel chamada opcao então vc pos uma variavel pra contradizer outra; no caso > "opçao" ta contrariando "box_check".

o que vc tem que fazer é o seguinte, esse é o seu create antigo
Código:
image_index = 0
image_speed = 0
box_check = false

você tem que trocar ele para

Código:
box_check = ini_read_real("Section","Key","Default")
image_index = box_check
image_speed = 0

se vc quiser vc pode trocar o nome da variavel "box_check" por "opção", mas não deixe duas variaveis fazendo a mesma coisa.


7hiagomp

Número de Mensagens : 124
Idade : 31
Data de inscrição : 21/04/2014
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como trocar de objeto?

Mensagem por Conteúdo patrocinado Hoje à(s) 18:25


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum