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
» player não consegue andar
por lovn7 Ontem à(s) 13:33

» É possível fazer istó no game maker
por William Lima Ontem à(s) 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


[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

- Tópicos semelhantes

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