GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Retorno da GMBR!!!
por vinians Qui 14 Mar 2024, 19:07

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


[Resolvido]Como fazer uma room com loop horizontal?

+2
Nuclear
Knonick
6 participantes

Ir para baixo

[Resolvido]Como fazer uma room com loop horizontal? Empty [Resolvido]Como fazer uma room com loop horizontal?

Mensagem por Knonick Ter 31 maio 2011, 10:08

Gostaria de fazer uma room com loop horizontal, mas que não se mexesse. Cada parte do player que sair da room, aparecer no outro lado da room. Alguém me ajuda?


Última edição por Knonick em Ter 31 maio 2011, 21:09, editado 1 vez(es)
Knonick
Knonick

Data de inscrição : 10/05/2011
Reputação : 0
Número de Mensagens : 92
Prêmios : [Resolvido]Como fazer uma room com loop horizontal? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]Como fazer uma room com loop horizontal? Empty Re: [Resolvido]Como fazer uma room com loop horizontal?

Mensagem por Nuclear Ter 31 maio 2011, 10:25

Todos os lados:

Código:
if (bbox_right<0)x=room_width;

if (bbox_bottom<0)y=room_height;else
if (bbox_top>room_height)y=0;

Horizoltal

Código:
if (bbox_left>room_width)
x=0;else

Não tenho certeza se funciona mas é bom testar
Nuclear
Nuclear

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 18/02/2011
Reputação : 22
Número de Mensagens : 346
Prêmios : [Resolvido]Como fazer uma room com loop horizontal? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]Como fazer uma room com loop horizontal? Empty Re: [Resolvido]Como fazer uma room com loop horizontal?

Mensagem por Knonick Ter 31 maio 2011, 10:57

Eu coloco esse código aonde? No player?

---EDIT---

Já consegui. Mas mudei o código para:
if (bbox_left>room_width)
x=0;
if (bbox_right<0)
x=room_width;
Knonick
Knonick

Data de inscrição : 10/05/2011
Reputação : 0
Número de Mensagens : 92
Prêmios : [Resolvido]Como fazer uma room com loop horizontal? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]Como fazer uma room com loop horizontal? Empty Re: [Resolvido]Como fazer uma room com loop horizontal?

Mensagem por Carlos L. Ter 31 maio 2011, 13:09

Tem uma função no game maker que faz esse efeito sem precisar fazer verificações.
Código:
move_wrap (hor, vert, margem) Envolve a instância, quando ela sair do room para o outro lado. hor indica que se envolve horizontalmente e vert indica que se envolve na vertical. margem indica o quanto a origem da instância deve estar fora da room antes do envolvimento que acontece. Por isso, ele é uma margem em torno do room. Você geralmente usa esta função no evento lado de fora.
Como exemplo crie um quadrado e coloque o código.
move_wrap(1,1,32)
Ele irá sair por todos os lados da room e aparecer do outro fazendo um loop.
flw
Carlos L.
Carlos L.

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 26/09/2010
Reputação : 8
Número de Mensagens : 271
Prêmios : [Resolvido]Como fazer uma room com loop horizontal? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]Como fazer uma room com loop horizontal? Empty Re: [Resolvido]Como fazer uma room com loop horizontal?

Mensagem por saim Ter 31 maio 2011, 14:35

Pra ele ir aparecendo à medida que vai sumindo do outro lado, pode ser necessário criar uma nova instância do obj_player do lado de lá da tela. Aí, você destrói a(s) instâncias que estiverem a 1 pixel fora da tela. Cuidado com as variáveis locais e create events na hora de fazer isso.

Mas se você não precisar das duas metades (uma em cada canto da tela) aparecendo e colidindo ao mesmo tempo, melhor manter como está.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : [Resolvido]Como fazer uma room com loop horizontal? Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

[Resolvido]Como fazer uma room com loop horizontal? Empty Re: [Resolvido]Como fazer uma room com loop horizontal?

Mensagem por Carlos L. Ter 31 maio 2011, 14:46

saim escreveu:Pra ele ir aparecendo à medida que vai sumindo do outro lado, pode ser necessário criar uma nova instância do obj_player do lado de lá da tela. Aí, você destrói a(s) instâncias que estiverem a 1 pixel fora da tela. Cuidado com as variáveis locais e create events na hora de fazer isso.

Mas se você não precisar das duas metades (uma em cada canto da tela) aparecendo e colidindo ao mesmo tempo, melhor manter como está.
Opa Saim não será necessário ele fazer isso o código que eu falei acima faz exatamente essa função de fazer ele desaparecer de um lado e começar a aparecer do outro no mesmo instante em que ele sai da room.

move_wrap(hor,vert,margin)
hor = Se ele deve executar a ação na horizontal.
vert = Se ele deve executar a ação na vertical.
margin = Indica o quanto a origem da sprite deve estar fora da room para executar a ação.
flw
Carlos L.
Carlos L.

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 26/09/2010
Reputação : 8
Número de Mensagens : 271
Prêmios : [Resolvido]Como fazer uma room com loop horizontal? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]Como fazer uma room com loop horizontal? Empty Re: [Resolvido]Como fazer uma room com loop horizontal?

Mensagem por saim Ter 31 maio 2011, 15:08

Carlos L. escreveu:o código que eu falei acima faz exatamente essa função de fazer ele desaparecer de um lado e começar a aparecer do outro no mesmo instante em que ele sai da room.
Fiz um teste aqui e o personagem sempre ficou com a sprite inteira de um lado só. Acho que é isso mesmo que a função faz: te pula pro outro lado da tela. do jeito que eu falei, a coisa seria como um portal, seu braço esquerdo aqui e seu braço direito lá do outro lado. Claro que isso nem sempre é necessário.
Mas eu posso ter feito alguma bobagem na hora de definir a margem. Se for isso, me explique como fazer. Eu usei "move_wrap(1, 1, 1)"
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : [Resolvido]Como fazer uma room com loop horizontal? Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

[Resolvido]Como fazer uma room com loop horizontal? Empty Re: [Resolvido]Como fazer uma room com loop horizontal?

Mensagem por ricaun Ter 31 maio 2011, 15:21

Um modo pilado de fazer um efeito legal é colocar duas copias do sprite deslocadas!

Tente isso pra vc ver!
Bote no draw!
Código:
draw_sprite(sprite_index,0,x,y)
draw_sprite(sprite_index,0,x+room_width,y)
draw_sprite(sprite_index,0,x-room_width,y)

Edit:
{
Bote no step!
Código:
move_wrap(1, 0, 0)
}

É só pra loop horizontal!

Té!
ricaun
ricaun

Data de inscrição : 23/09/2008
Reputação : 9
Número de Mensagens : 169
Prêmios : [Resolvido]Como fazer uma room com loop horizontal? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]Como fazer uma room com loop horizontal? Empty Re: [Resolvido]Como fazer uma room com loop horizontal?

Mensagem por Carlos L. Ter 31 maio 2011, 15:32

saim escreveu:
Carlos L. escreveu:o código que eu falei acima faz exatamente essa função de fazer ele desaparecer de um lado e começar a aparecer do outro no mesmo instante em que ele sai da room.
Fiz um teste aqui e o personagem sempre ficou com a sprite inteira de um lado só. Acho que é isso mesmo que a função faz: te pula pro outro lado da tela. do jeito que eu falei, a coisa seria como um portal, seu braço esquerdo aqui e seu braço direito lá do outro lado. Claro que isso nem sempre é necessário.
Mas eu posso ter feito alguma bobagem na hora de definir a margem. Se for isso, me explique como fazer. Eu usei "move_wrap(1, 1, 1)"
Qual foi a dimensão da sua imagem?
Faça um exemplo da seguinte maneiro crie uma sprite de 32x32 coloque qualquer cor nela e coloque o seguinte código.
move_wrap(1,1,32)
Não sei como explicar direito mais acho que a margem funciona mais ou menos assim, no seu caso vou fazer de conta que você usou uma sprite de 32x32, então como na margem você só colocou 1 ele só iria mostrar a sprite novamente depois que do outro lado onde ela estivesse só estivesse 1 Pixel da imagem (considerando a origem da sprite) fora da room.
Carlos L.
Carlos L.

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 26/09/2010
Reputação : 8
Número de Mensagens : 271
Prêmios : [Resolvido]Como fazer uma room com loop horizontal? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]Como fazer uma room com loop horizontal? Empty Re: [Resolvido]Como fazer uma room com loop horizontal?

Mensagem por saim Ter 31 maio 2011, 16:06

Não, mesma coisa. Só demorou um pouco mais pra aparecer do outro lado. Fiz outro teste e coloque a margem negativa (-32). O personagem apareceu bem pra dentro da tela.
Meu sprite realmente é 32x32 e a origem é em (0, 0).
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : [Resolvido]Como fazer uma room com loop horizontal? Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

[Resolvido]Como fazer uma room com loop horizontal? Empty Re: [Resolvido]Como fazer uma room com loop horizontal?

Mensagem por Knonick Ter 31 maio 2011, 21:08

O move wrap deu no mesmo do código do NUCLEAR, mas fica mais simples. Estou usando uma sprite de 32x32, mas queria que cada pixel que passasse de um lado aparecesse do outro, e o código do ricaun fez exatamente o que eu queria. Vlw.
Knonick
Knonick

Data de inscrição : 10/05/2011
Reputação : 0
Número de Mensagens : 92
Prêmios : [Resolvido]Como fazer uma room com loop horizontal? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]Como fazer uma room com loop horizontal? Empty Re: [Resolvido]Como fazer uma room com loop horizontal?

Mensagem por Willy Ter 31 maio 2011, 23:01

Tópico resolvido.
Trancado.
Se o autor quiser reabrir o tópico envie MP para algum administrador ou moderador.
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : [Resolvido]Como fazer uma room com loop horizontal? Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

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

http://willy-gmbr.blogspot.com/

Ir para o topo Ir para baixo

[Resolvido]Como fazer uma room com loop horizontal? Empty Re: [Resolvido]Como fazer uma room com loop horizontal?

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos