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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 28/11/2010
Número de Mensagens : 454
Insígnias de JAM :

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

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

Desativando e reativando instâncias em 2 views!

em Qua 27 Mar 2013, 19:49
Olá pessoal, sou eu novamente com mais uma dúvida frustrante com o meu jogo Black Tank!
Queria saber se existe alguma forma de eu desativar o draw em duas views (isso mesmo 2 VIEWS! affraid ).
O código que eu uso para desativar o draw das instâncias fora da view é esse:
Código:
//desativar o draw de tudo o que esta fora da tela
with(all)
{
 if (x<view_xview-20)or(y<view_yview-20)or(x>view_xview+(view_wview+20))or(y>view_yview+(view_hview+20)){visible=false;}
 else {visible=true;}
}
with(obj_display_settings){visible=true;}
with(obj_create_rain){visible=true;}
Eu pretendo adicionar um modo battle nele (onde dois jogadores jogam no mesmo pc, pois não sei criar jogos on-line), só que não sei como desativar o draw em duas views diferentes e por isso não o fiz ainda.
Grato a quem puder me ajudar e pela paciência em ter lido.
Paulo Henrique Productions(PHP®)
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

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

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

Re: Desativando e reativando instâncias em 2 views!

em Qua 27 Mar 2013, 20:30
Código:
with(all)
{
//[1] é a segunda view
visible=(x>view_xview-20)&&(y>view_yview-20)&&(x<view_xview+(view_wview+20))&&(y<view_yview+(view_hview+20))or(x>view_xview[1]-20)&&(y>view_yview[1]-20)&&(x<view_xview[1]+(view_wview[1]+20))&&(y<view_yview[1]+(view_hview[1]+20));
}
with(obj_display_settings){visible=true;}
with(obj_create_rain){visible=true;}

Amo códigos assim. Razz

Até mais!
avatar
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 28/11/2010
Número de Mensagens : 454
Insígnias de JAM :

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

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

Re: Desativando e reativando instâncias em 2 views!

em Qua 27 Mar 2013, 20:35
Esqueci de mencionar que este código é executado pelo objeto que o jogador controla (veja na minha assinatura, o tanque preto), então eu posso usar isso no outro objeto que o outro jogador controla?


Última edição por PHProductions em Qua 27 Mar 2013, 20:37, editado 1 vez(es) (Razão : esqueci de mencionar a imagem da minha assinatura)
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 30/07/2011
Número de Mensagens : 928
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuáriohttp://luizpontes.tk/

Re: Desativando e reativando instâncias em 2 views!

em Qui 28 Mar 2013, 13:29
PHProductions escreveu:Esqueci de mencionar que este código é executado pelo objeto que o jogador controla (veja na minha assinatura, o tanque preto), então eu posso usar isso no outro objeto que o outro jogador controla?
Eu acho que sim, pois veja, todo o código está dentro de with's, então nada importa o objeto em que o código está.

Até mais!
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: Desativando e reativando instâncias em 2 views!

em Qui 28 Mar 2013, 16:35
Desculpe, mas posso perguntar pra que desativar o DRAW de tudo que está fora da view? Se é pra acelerar o processamento, o correto é desativar as INSTÂNCIAS.

@PedroX: Esse negocio e e/ou é muito chato. Seu código precisa e mais parênteses, pra deixar claro que é (isso E isso E isso) OU (aquilo E aquilo E aquilo). Como está, ele será interpretado como ((isso E isso E isso) OU aquilo) E aquilo E aquilo.
Data de inscrição : 26/02/2008
Número de Mensagens : 352
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://gmbr.forumeiros.com

Re: Desativando e reativando instâncias em 2 views!

em Qui 28 Mar 2013, 16:43
@saim

Pois ao desativar as instâncias, o Step e as colisões param de funcionar. Deixando invisível, só o Draw desativa.

Código:
visible=( (x>view_xview-20) && (y>view_yview-20) && (x<view_xview+view_wview+20) && (y<view_yview+view_hview+20) )  || ( (x>view_xview[1]-20) && (y>view_yview[1]-20) && (x<view_xview[1]+view_wview[1]+20) && (y<view_yview[1]+view_hview[1]+20) );
avatar
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 28/11/2010
Número de Mensagens : 454
Insígnias de JAM :

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

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

Re: Desativando e reativando instâncias em 2 views!

em Sex 29 Mar 2013, 09:08
saim escreveu:Desculpe, mas posso perguntar pra que desativar o DRAW de tudo que está fora da view? Se é pra acelerar o processamento, o correto é desativar as INSTÂNCIAS.
Claro que não! Meu jogo usa o draw em praticamente tudo! E o processamento lento dele se vem ao fato de que tem mais códigos no draw do que no step, e fazendo o que você disse, só irá bugar a colisão, pois imaginem a situação:
Você está sendo perseguido, daí tem uma parede no caminho, mas mesmo assim a perseguição continua.
Agora pensem, ao perceberem que a, por exemplo, instância parede é desativada o inimigo irá passar tranquilamente, e agora pensem novamente comigo: se eu voltar para trás a instância será reativada com o inimigo preso em seu interior!
Agora entendem a situação?
Desculpem pela resposta assim, é que o draw em alta quantidade diminui o processamento da GPU (placa de vídeo) e não o processamento da CPU (processador).
Minha dúvida já foi resolvida, por isso peço para trancar esse tópico.
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