[Resolvido]Mini mapa dinâmico!

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

Resolvido [Resolvido]Mini mapa dinâmico!

Mensagem por chicoweb 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)

chicoweb

Ranking : Nota C
Número de Mensagens : 666
Idade : 40
Data de inscrição : 15/05/2012
Notas recebidas : B+C
Reputação : 49
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Mini mapa dinâmico!

Mensagem por fredcobain 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
=)

fredcobain

Ranking : Sem avaliações
Número de Mensagens : 691
Idade : 35
Data de inscrição : 14/04/2011
Reputação : 162
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Mini mapa dinâmico!

Mensagem por chicoweb 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

chicoweb

Ranking : Nota C
Número de Mensagens : 666
Idade : 40
Data de inscrição : 15/05/2012
Notas recebidas : B+C
Reputação : 49
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Mini mapa dinâmico!

Mensagem por shatterhand2 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.

shatterhand2

Número de Mensagens : 645
Idade : 33
Data de inscrição : 21/10/2009
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://shatterhand.beatthegame.net

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Mini mapa dinâmico!

Mensagem por chicoweb 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)

chicoweb

Ranking : Nota C
Número de Mensagens : 666
Idade : 40
Data de inscrição : 15/05/2012
Notas recebidas : B+C
Reputação : 49
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Mini mapa dinâmico!

Mensagem por PedroX 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()

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Mini mapa dinâmico!

Mensagem por shatterhand2 em Ter 18 Fev 2014, 18:19

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.

shatterhand2

Número de Mensagens : 645
Idade : 33
Data de inscrição : 21/10/2009
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://shatterhand.beatthegame.net

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Mini mapa dinâmico!

Mensagem por chicoweb 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.

chicoweb

Ranking : Nota C
Número de Mensagens : 666
Idade : 40
Data de inscrição : 15/05/2012
Notas recebidas : B+C
Reputação : 49
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Mini mapa dinâmico!

Mensagem por shatterhand2 em Qua 19 Fev 2014, 13:58

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:

shatterhand2

Número de Mensagens : 645
Idade : 33
Data de inscrição : 21/10/2009
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://shatterhand.beatthegame.net

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Mini mapa dinâmico!

Mensagem por chicoweb 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

chicoweb

Ranking : Nota C
Número de Mensagens : 666
Idade : 40
Data de inscrição : 15/05/2012
Notas recebidas : B+C
Reputação : 49
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Mini mapa dinâmico!

Mensagem por Conteúdo patrocinado Hoje à(s) 13:43


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