Conectar-se

Esqueci minha senha

Últimos assuntos
» colisão de queda após outra colisão dando problema
Ontem à(s) 18:08 por Lighter

» [Duvida] O que aprender
Ontem à(s) 15:32 por Markituh

» BUILD FAILED: Cannot find BUILD.xml
Ontem à(s) 14:50 por ReisBlender

» Nota de esclarecimento - GMBR voltou!
Sex 23 Jun 2017, 20:33 por Willy

» Regras do Fórum
Sex 23 Jun 2017, 19:02 por GMBR

» Retorno da GMBR!!!
Ter 24 Jan 2017, 15:43 por GMBR

» Jogo Dengue HTML
Seg 30 Nov 2015, 16:17 por guga

» Criando IA Simples para inimigos
Qua 25 Nov 2015, 19:22 por DJDAVYD

» Ordenar variavel em ordem decrescente
Sex 28 Ago 2015, 21:09 por Kodained

» Crio Trilha Sonora para Games!
Qui 27 Ago 2015, 13:50 por Isaias Malafaia

» Problema com Colisão
Qui 27 Ago 2015, 12:30 por The_Game

» Quem quer Uma Engine, e de Quê?
Qui 27 Ago 2015, 09:22 por theguitarmester

» [RESOLV]Como adicionar 2 objetos na mesma posição?
Qua 26 Ago 2015, 11:38 por Bhryenno Kelvyn Carlson

» Sistema de porta!!!
Ter 25 Ago 2015, 21:29 por theguitarmester

» Venda de objetos em Inventário - Multiplicado
Seg 24 Ago 2015, 18:33 por AG Hydra

» Atirar na direção certa
Seg 24 Ago 2015, 09:03 por theguitarmester

» Western Duels
Seg 24 Ago 2015, 07:47 por theguitarmester

» Problemas na compilação android
Dom 23 Ago 2015, 23:43 por Zero.

» Dúvida sobre strings, lendo txt
Sab 22 Ago 2015, 20:31 por Pai véi

» Como estabilizar um som
Sab 22 Ago 2015, 19:03 por Isquilo_Roedor

» Janela Modal
Sab 22 Ago 2015, 09:23 por Pai véi

» Sobre instance Creation Code
Sab 22 Ago 2015, 08:39 por Pai véi

» LudumDare #33
Sex 21 Ago 2015, 21:17 por WellingtonBecker

» Como fazer um temporizador
Sex 21 Ago 2015, 19:02 por Isquilo_Roedor

» GMS sempre salva projeto ao compilar?
Sex 21 Ago 2015, 12:32 por Pai véi

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

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36

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

Re: Função para ativar objetos na view

Mensagem por Conteúdo patrocinado


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