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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota C
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Número de Mensagens : 666
Insígnias de JAM :

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

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

[Resolvido]Mini mapa dinâmico!

em Ter 18 Fev 2014, 09:36
Seguinte galera,

Tenho 4 rooms no meu game as rooms são grande não cabem na tela, e o player vai andando e a room se movimentando conforme seu movimento.

1) Tem como capturar uma screen da room (Não da tela, da room toda) e transformar em sprite via gml?
2) Se o item anterior for possível, tem como capturar tb a screen de uma room que não está na tela?

A intenção é fazer um mini-mapa do mundo inteiro via codigo, se houver outro meio, agradecido fico pela informação.


Última edição por chicoweb em Qua 19 Fev 2014, 14:50, editado 2 vez(es) (Razão : Resolvido)
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: [Resolvido]Mini mapa dinâmico!

em Ter 18 Fev 2014, 09:43
Chico, tem várias formas de se fazer um minimap.
A mais comum é usando views.
Mas também dá pra fazer usando surface.

Veja alguns exemplos:
http://gmbr.forumeiros.com/t12989-hyper-minimap
http://gmc.yoyogames.com/index.php?showtopic=607587
http://gmc.yoyogames.com/index.php?showtopic=520076
http://www.youtube.com/watch?v=G5PJodjhN2k
http://gmc.yoyogames.com/index.php?showtopic=490018

E assim sucessivamente
=)
avatar
Ranking : Nota C
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Número de Mensagens : 666
Insígnias de JAM :

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

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

Re: [Resolvido]Mini mapa dinâmico!

em Ter 18 Fev 2014, 12:23
As engines sobre esse assunto aqui eu ja tinha achado, mas estão todas com os links expirados/quebrados.

Esse gmk ai da yoyo, abriu rodou legal, mas na verdade tá mais pra um radar do que minimapa.

Agora so posso testar as do gms em casa mesmo, a noite eu vejo isso.

Vlw pela ajuda qq coisa eu posto o resultado aqui,
Se alguem souber de algum material para fazer minimapa em GMK, agradeço novamente.

Cool
avatar
Data de inscrição : 21/10/2009
Número de Mensagens : 645
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://shatterhand.beatthegame.net

Re: [Resolvido]Mini mapa dinâmico!

em Ter 18 Fev 2014, 13:12
A maneira mais simples e direta de fazer um minimapa é colocar uma view no teu game que seja pequena, fique em cima da view principal e pegue a room inteira (Ou os arredores do personagem principal, se a ideia não for mostrar a tela inteira).

Você faz isso em 5 minutos e funciona razoavelmente bem.
avatar
Ranking : Nota C
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Número de Mensagens : 666
Insígnias de JAM :

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

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

Re: [Resolvido]Mini mapa dinâmico!

em Ter 18 Fev 2014, 16:21
shatterhand2 escreveu:A maneira mais simples e direta de fazer um minimapa é colocar uma view no teu game que seja pequena, fique em cima da view principal e pegue a room inteira (Ou os arredores do personagem principal, se a ideia não for mostrar a tela inteira).

Você faz isso em 5 minutos e funciona razoavelmente bem.

Ah shatterhand2 Faz um minituto ai seja bonzinho vai kkkkk


Eu to conseguindo mais ou menos, deu certo mas to perdendo um fps considerável, exemplo:

obj_minimap

Create:


Código:
fundao = sprite_create_from_screen(0,0,room_width,room_height,1,0,0,0) // Cria o sprite da room atual, peguei a room toda mas poderia pegar so a parte que interessa, sem os hud, por exemplo.
depth = -99999 // Vai na frente de tudo
alarm[0] = 1 // Isso aqui eu vo explica depois

Alarm[0]:

Código:
sprite_delete(fundao) // Aqui deleto o anterior pra nao sobre carregar memoria
fundao = sprite_create_from_screen(0,0,room_width,room_height,1,0,0,0) // crio um screen atual
alarm[0] = 5 * room_speed // Eu coloquei isso pra atualizar o mapa de 5 em 5 segundos senão a perda de fps e tanta que trava o jogo, mesmo deletando o sprite ali en cima

Draw:

Código:
draw_sprite_stretched(fundao,0,20,600,200,140) // Exibe a tela pequenininha, o seja o minimapa

Como vcs podem ver o problema e a perda de fps, de 40 ele varia para 34, com o alarma de cinco em cinco segundo melhorou bastante, mas se alguem tiver alguma ideia ´para reduzir essa perda de fps e bem vinda.

shatterhand2 dentro do que comentou ai se eu colocar isso numa view será que melhora?

ah esqueci de avisar eu polui a rooom de objetos, muitos, para ver o que ia acontecer com o fps, tem uns 40 objetos e backgroud pésado, depois quando arruma eu coloco a engine aqui.


Última edição por chicoweb em Ter 18 Fev 2014, 16:23, editado 1 vez(es) (Razão : Esqueci de avisar)
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: [Resolvido]Mini mapa dinâmico!

em Ter 18 Fev 2014, 17:53
Então, você pode tentar fazer assim:

- Uma vez só salvar uma screen de toda a tela, tirando os objetos móveis.
- De tempos em tempos os objetos móveis desenham no mapa sua sprite em miniatura.

Vai precisar de:

with(objeto) / visible / draw_sprite_stretched()sprit / e_create_from_screen()
avatar
Data de inscrição : 21/10/2009
Número de Mensagens : 645
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://shatterhand.beatthegame.net

Re: [Resolvido]Mini mapa dinâmico!

em Ter 18 Fev 2014, 18:19
Reputação da mensagem: 100% (1 votos)
Cara, você tá tentando pegar a tela inteira e jogar pra memória várias vezes por segundo.

E você pode fazer exatamente o que você está fazendo, usando a estratégia que te sugeri.

Coloca duas views, uma onde o jogo acontece, outra pra ser o mini mapa. Coloca a ViewPort do minimapa pequena e posicionada em cima da view principal. Coloca o tamanho da view a room inteira.

Vai funcionar e é super rápido. Eu já usei isso num jogo meu, funciona direitinho.

Não precisa programar nada, criar objeto nenhum, é só mexer nas views.

Eu não to em casa, to no trabalho. Se você não conseguir, mais tarde ou amanhã te dou um passo a passo pra fazer, mas é bem simples.
avatar
Ranking : Nota C
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Número de Mensagens : 666
Insígnias de JAM :

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

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

Re: [Resolvido]Mini mapa dinâmico!

em Qua 19 Fev 2014, 09:51
Consegui, deu perda de um fps a cada screen capturada agora, melhorou. Daqui a pouco eu coloco a engine aqui.
avatar
Data de inscrição : 21/10/2009
Número de Mensagens : 645
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://shatterhand.beatthegame.net

Re: [Resolvido]Mini mapa dinâmico!

em Qua 19 Fev 2014, 13:58
Reputação da mensagem: 100% (1 votos)
Cara, olha só.

Eu fiz exatamente isso num game que produzi ano passado.

Abre a room do game, marca ENABLE THE USE OF VIEWS na aba VIEWS

Marca na VIEW0 e na VIEW1 "Visible when room starts"

Na View0:

VIEW IN ROOM
x: 0 W:800
y:0  H:600
PORT ON SCREEN
X: 0 W:800
Y:0  H:600

Na VIEW 1:
VIEW IN ROOM
X:0 W:2240 <- AQUI VOCÊ COLOCA A LARGURA DA TUA ROOM
Y:0 H:3264 <- AQUI VOCÊ COLOCA A ALTURA DA TUA ROOM

PORT ON SCREEN:
X:640 W:140
Y:390 H:204

Nesse Port on Screen, você coloca o tamanho e a posição do teu mini-mapa

No meu caso, esse foi o resultado:
avatar
Ranking : Nota C
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Número de Mensagens : 666
Insígnias de JAM :

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

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

Re: [Resolvido]Mini mapa dinâmico!

em Qua 19 Fev 2014, 14:47
Ficou perfeitoooooooo
Obrigado ae shatterhand2 resolvida a situação.

Quem quiser ver ele rodando baixa ae, depois posto como engine, com creditos a vc vlwwwwww.

Download
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