Conectar-se

Esqueci minha senha

Últimos assuntos
» [Enquete] Concursos GMBR
por Willy Ontem à(s) 19:49

» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

Quem está conectado
14 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 14 Visitantes

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36
Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220919 mensagens em 30412 assuntos

Função para ativar objetos na view

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

Função para ativar objetos na view

Mensagem por matheusco em Qua 01 Out 2014, 22:15

Tudo bem pessoal? Estou enfrentando problemas para desativar objetos fora da view e ativar quando presentes nela.

É possível colocar uma excessção para essa funções? Pois meu jogo possui instâncias que devem ser reativadas clicando, mas usando instance_activate_region ela acaba sendo ativada por estar na view.

Se não existir, alguém tem alguma ideia de como o Game Maker processa essas funções? Sabendo disso posso fazer algumas modificações nela.
avatar
matheusco

Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário http://www.tutoriaisgamemaker.com.br

Voltar ao Topo Ir em baixo

Re: Função para ativar objetos na view

Mensagem por WellingtonBecker em Qua 01 Out 2014, 22:36

Veja se isso que procura:
Código:

//ativa instancias dentro da view
instance_activate_region(view_xview,view_yview,view_wview,view_hview,true)

//desativa instancias fora da view
instance_deactivate_region(view_xview,view_yview,view_wview,view_hview,false,true)
avatar
WellingtonBecker

Ranking : Nota D
Notas recebidas : D
Data de inscrição : 09/05/2013
Número de Mensagens : 820
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Função para ativar objetos na view

Mensagem por matheusco em Qua 01 Out 2014, 22:43

@WellingtonBecker escreveu:Veja se isso que procura:
Código:

//ativa instancias dentro da view
instance_activate_region(view_xview,view_yview,view_wview,view_hview,true)

//desativa instancias fora da view
instance_deactivate_region(view_xview,view_yview,view_wview,view_hview,false,true)

Esse é o que eu usava (até descobrir um problema), mas no meu caso ela acaba ativando instâncias que eu não queria que fossem ativadas, por isso não dá pra usar esse.

A única ideia que tive até agora, que me pareceu mais viável, é dividir todo meu mapa em retângulos e colocar um "marcador" no meio de cada uma dessas áreas. Quando o jogador entrasse na área desse marcador ele ativaria os objetos específicos, ao invés de todos.

O Game Maker não tem alguma lista com todas variáveis? Arrays? Algo assim? Porque eu poderia verificar se as instâncias são diferentes das que eu não quero que ele ative (usando loop), dai só assim ativá-las.
avatar
matheusco

Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário http://www.tutoriaisgamemaker.com.br

Voltar ao Topo Ir em baixo

Re: Função para ativar objetos na view

Mensagem por WellingtonBecker em Qua 01 Out 2014, 22:46

Aperte F1 e ele vai abrir informações sobre todas suas funções.
avatar
WellingtonBecker

Ranking : Nota D
Notas recebidas : D
Data de inscrição : 09/05/2013
Número de Mensagens : 820
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Função para ativar objetos na view

Mensagem por Isaque Onix em Qui 02 Out 2014, 00:01

ei, amigo, nao te aconselho a usar as funçoes instance_activate e instance_deactivate para objetos manipulaveis, use variaveis comuns para esse tipo de "desativaçao/ativaçao" assim, voce evita erros.
no mais, e so usar o codigo!!!

Código:
instance_deactivate_all(1)
//ativa instancias dentro da view
instance_activate_region(view_xview,view_yview,view_xview+view_wview,view_yview+view_hview,true)
avatar
Isaque Onix

Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Função para ativar objetos na view

Mensagem por matheusco em Sex 03 Out 2014, 01:47

Bom, pelo jeito ninguém entendeu minha dúvida. A questão era que eu tinha objetos que, mesmo que aparecessem na view eu queria que eles permanecessem desativados (usando a função de ativar todos objetos na view, ou seja, colocar exceções).

Como resolvi: Ao invés de desativar o menu que é aberto quando clico numa mochila, mandei eles pra posições negativas, portanto eles acabam sendo desativados por estarem fora da view e são inacessíveis por estarem em posição negativa.

Para reabrirr só os trago novamente para para a posição da mochila que os ativou, fazendo com que fiquem dentro da view, sendo reativados.

Se alguém encontrar o mesmo problema, já sabe como resolver.

Abraços.
avatar
matheusco

Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário http://www.tutoriaisgamemaker.com.br

Voltar ao Topo Ir em baixo

Dica

Mensagem por Mateus O de Andrade em Sex 03 Out 2014, 08:29

Bom dia matheusco ,
Cara, não sei exatamente como funciona esta função que foi usada mas vou dar uma dica.

Aliado à função de view, você poderia usar um cursor para seu jogo. Vou exemplificar.

Veja o exemplo tosco.


Explicando a imagem use ela como cursor. O ponto vermelho seria a mascara a ser usada para as colisões.

Ficaria algo assim:

Se a mochila estiver dentro da view e extiver ocorrendo colisão entre ela e o cursor e o botão do mouse referente à abertura for pressionado
{
Ocorre a abertura da mochila
}

Se tiver 10 mochilas na view e mais 10 fora dela, só será a berta a mochila que estiver em contato com o cursor.

Espero que tenha intendido minha ideia e espero ter ajudado.

Abração cara.
avatar
Mateus O de Andrade

Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Função para ativar objetos na view

Mensagem por matheusco em Sex 03 Out 2014, 10:55

@Mateus O de Andrade escreveu:Bom dia  matheusco ,
Cara, não sei exatamente como funciona esta função que foi usada mas vou dar uma dica.

Aliado à função de view, você poderia usar um cursor para seu jogo. Vou exemplificar.

Veja o exemplo tosco.


Explicando a imagem use ela como cursor. O ponto vermelho seria a mascara a ser usada para as colisões.

Ficaria algo assim:

Se a mochila estiver dentro da view e extiver ocorrendo colisão entre ela e o cursor e o botão do mouse referente à abertura for pressionado
{
Ocorre a abertura da mochila
}

Se tiver 10 mochilas na view e mais 10 fora dela, só será a berta a mochila que estiver em contato com o cursor.

Espero que tenha intendido minha ideia e espero ter ajudado.

Abração cara.


Eu já uso collision_point pra pegar a ID do objeto na posição mouse_x e mouse_y. A função funciona ativando tudo que estiver na região um pouco maior que a view (pras luzes também serem ativadas e não só acenderem quando estiverem na view.

Quando fechava a mochila eu simplesmente desativava o inventário dela, então ele continua na view e logo em seguida era reativado por essa função. Agora que mando ele pra posição negativa meus problemas foram resolvidos ;)

A sua dica não funcionaria no meu caso pois as 10 mochilas fechadas teriam perto delas inventários desativados que, assim que entrassem na minha view, seriam reativados. Mesmo assim, obrigado pela dica ;)

EDIT: Na verdade pra mochila eu só uso o Right Pressed Event, que só considera os cliques feitos em cima da instância.
avatar
matheusco

Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário http://www.tutoriaisgamemaker.com.br

Voltar ao Topo Ir em baixo

Re: Função para ativar objetos na view

Mensagem por Isaque Onix em Sex 03 Out 2014, 12:32

@matheusco escreveu:Bom, pelo jeito ninguém entendeu minha dúvida. A questão era que eu tinha objetos que, mesmo que aparecessem na view eu queria que eles permanecessem desativados (usando a função de ativar todos objetos na view, ou seja, colocar exceções).

Como resolvi: Ao invés de desativar o menu que é aberto quando clico numa mochila, mandei eles pra posições negativas, portanto eles acabam sendo desativados por estarem fora da view e são inacessíveis por estarem em posição negativa.

Para reabrirr só os trago novamente para para a posição da mochila que os ativou, fazendo com que fiquem dentro da view, sendo reativados.

Se alguém encontrar o mesmo problema, já sabe como resolver.

Abraços.
Acho que foi voce que nao intendeu minha resposta. eu disse que voce deve usar variaveis para desativar um objeto, assim, funçoes nativas do game maker nao irao afeta-lo.
um exemplo:

create:

Código:
desativado=false

step:

Código:
if(desativado){visible=false exit}visible=true//este se repetiria em todos os eventos.
/*outros codigos*/

assim, voce desativaria um objeto sem precisar usar o instance_deactivate!
avatar
Isaque Onix

Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Função para ativar objetos na view

Mensagem por matheusco em Sex 03 Out 2014, 13:55

@Isaque Onix escreveu:
@matheusco escreveu:Bom, pelo jeito ninguém entendeu minha dúvida. A questão era que eu tinha objetos que, mesmo que aparecessem na view eu queria que eles permanecessem desativados (usando a função de ativar todos objetos na view, ou seja, colocar exceções).

Como resolvi: Ao invés de desativar o menu que é aberto quando clico numa mochila, mandei eles pra posições negativas, portanto eles acabam sendo desativados por estarem fora da view e são inacessíveis por estarem em posição negativa.

Para reabrirr só os trago novamente para para a posição da mochila que os ativou, fazendo com que fiquem dentro da view, sendo reativados.

Se alguém encontrar o mesmo problema, já sabe como resolver.

Abraços.
Acho que foi voce que nao intendeu minha resposta. eu disse que voce deve usar variaveis para desativar um objeto, assim, funçoes nativas do game maker nao irao afeta-lo.
um exemplo:

create:

Código:
desativado=false

step:

Código:
if(desativado){visible=false exit}visible=true//este se repetiria em todos os eventos.
/*outros codigos*/

assim, voce desativaria um objeto sem precisar usar o instance_deactivate!

O problema não era desativar o objeto, mas sim ele ser reativado pela função instance_activate_region.

E acredito que a função deactivate não só deixa o objeto invisível, senão seria possível executar ações com ele mesmo desativado. Eu entendi sua solução, mas meu objetivo é seguir usando o activate/deactivate_region Happy
avatar
matheusco

Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário http://www.tutoriaisgamemaker.com.br

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