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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
Data de inscrição : 24/06/2014
Número de Mensagens : 90
Insígnias de JAM :

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

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

Como trocar de objeto?

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?
avatar
Data de inscrição : 21/04/2014
Número de Mensagens : 124
Insígnias de JAM :

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

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

Re: Como trocar de objeto?

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?
Data de inscrição : 24/06/2014
Número de Mensagens : 90
Insígnias de JAM :

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

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

Re: Como trocar de objeto?

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
avatar
Data de inscrição : 22/06/2008
Número de Mensagens : 156
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://ssqt.blogspot.com.br/

Re: Como trocar de objeto?

em Seg 30 Jun 2014, 02:11
tente instance_change
Data de inscrição : 24/06/2014
Número de Mensagens : 90
Insígnias de JAM :

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

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

Re: Como trocar de objeto?

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?
avatar
Data de inscrição : 21/04/2014
Número de Mensagens : 124
Insígnias de JAM :

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

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

Re: Como trocar de objeto?

em Seg 30 Jun 2014, 18:04
Reputação da mensagem: 100% (1 votos)
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)
Data de inscrição : 24/06/2014
Número de Mensagens : 90
Insígnias de JAM :

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

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

Re: Como trocar de objeto?

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
avatar
Ranking : Sem avaliações
Data de inscrição : 14/04/2011
Número de Mensagens : 691
Insígnias de JAM :

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

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

Re: Como trocar de objeto?

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.
Data de inscrição : 24/06/2014
Número de Mensagens : 90
Insígnias de JAM :

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

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

Re: Como trocar de objeto?

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
avatar
Data de inscrição : 22/06/2008
Número de Mensagens : 156
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://ssqt.blogspot.com.br/

Re: Como trocar de objeto?

em Seg 30 Jun 2014, 20:27
image_index=ini_read_real("Section","Key","Default")
Data de inscrição : 24/06/2014
Número de Mensagens : 90
Insígnias de JAM :

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

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

Re: Como trocar de objeto?

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!
avatar
Data de inscrição : 21/04/2014
Número de Mensagens : 124
Insígnias de JAM :

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

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

Re: Como trocar de objeto?

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.

Conteúdo patrocinado

Re: Como trocar de objeto?

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