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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 13/01/2011
Número de Mensagens : 36
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Personagem aparece do outro lado.

em Qui 03 Fev 2011, 11:45
Estou usando esses códigos para meu jogo em plataforma.

Código:
if keyboard_check(vk_right){
sprite_index = Direita
if place_free(x+5,y)
x+=5
}

if keyboard_check(vk_left){
sprite_index = Esquerda
if place_free (x-5,y)
x+=-5
}

{
if keyboard_check_pressed(vk_up)
if!place_free(x,y+2){vspeed=-12}
}

{
if place_free(x,y+2)
gravity=1
else
gravity=0
}

Eu quero fazer como esta na imagem:





O personagem entra na parede e sai do outro lado mais ele pode parar no meio do caminho como esta na imagem eu acho que isso só pode ser feito por codigo porque eu usei o "Outside Room" depois "Wrap Screen" esse comando faz que quando o personagem esteja totalmente fora da tela ele aparece do outro lado mais eu não quero isso, eu quero como esta na imagem, e eu uso o "Outside Room" depois "Wrap Screen" e por causa da gravidade o personagem afunda sem eu ver ai não da certo.

Então eu queria um código que faça isso quando o personagem encosta na beirada da room sua ponto já apareça do outro lado.

Obrigado adiantado.






avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/09/2010
Número de Mensagens : 1400
Insígnias de JAM :

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

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

Re: Personagem aparece do outro lado.

em Qui 03 Fev 2011, 11:54
Ao invés de "Outside Room", coloca "Intersect Bonduary" (olha só que esperteza do titio Mark, colocou uma função exatamente para isso!).
FLW
avatar
Data de inscrição : 13/01/2011
Número de Mensagens : 36
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Personagem aparece do outro lado.

em Qui 03 Fev 2011, 12:03
Estranho porque não acontece nada só da certo quando eu pulo na parede ai cai do outro lado mais andando não da e o personagem tem que sumir totalmente para aparecer do outro lado deve ter algo de errado no código que eu uso no meu jogo (Eu postei o código).

OFF-topic:Quem é titio Mark?
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/09/2010
Número de Mensagens : 1400
Insígnias de JAM :

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

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

Re: Personagem aparece do outro lado.

em Qui 03 Fev 2011, 12:07
Que esquisito, vamo esperar mais alguém responder.
Ps: "Titio Mark" é o apelido carinhoso do Mark Overmars, criador do Game Maker.
avatar
Data de inscrição : 29/05/2010
Número de Mensagens : 346
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://salathiel1337.blogspot.com/

Re: Personagem aparece do outro lado.

em Qui 03 Fev 2011, 12:11
Acho que entendi sua duvida. Você não que que o personagem fique "dividido ao meio", certo?

Você pode tentar usar movimentação em grid.

Engine:
http://gmbr.forumeiros.com/t3585-lib-rpg-grid-movement-minimap?highlight=grid

Tutorial:
http://www.xcreator.com.br/site/index.php/home/8-game-maker/28-engine-exemplo-de-movimentacao-em-grid-blocos-e-etc
avatar
Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

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

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

Re: Personagem aparece do outro lado.

em Qui 03 Fev 2011, 12:15
Hmmm... Ambos os dois eventos não possuem diferença alguma, a única que notei foi quando eu vou para a esquerda o personagem desaparece quando sai da metade. Mas o seu código está beleza, não há nada de errado nele scratch O que você poderia fazer é duplicar o objeto enquanto ele estiver com uma parte fora da room, ainda sim com o Interset Boundary. Pois o Wrap Screen só funciona quando se sai totalmente da room, eu acho.
avatar
Data de inscrição : 13/01/2011
Número de Mensagens : 36
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Personagem aparece do outro lado.

em Qui 03 Fev 2011, 12:25
Parece que isso é muito dificil de se fazer entaum mais mesmo saindo totalmente da Room não da certo só da certo quando eu pulo parece que quando o personagem sai da Room a gravidade pucha ele para baixo ai ele não aparece do outro lado.
avatar
Data de inscrição : 15/07/2008
Número de Mensagens : 324
Insígnias de JAM :

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

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

Re: Personagem aparece do outro lado.

em Qui 03 Fev 2011, 13:10
Ehn...tenta o seguinte:

Deixa o Wrap Screen quetinho lá no Outside Room
Depois coloca esse script no evento Draw do personagem!

Código:
draw_sprite(sprite_index,image_index,x,y)
if x<0+sprite_width/2
draw_sprite(sprite_index,image_index,room_width+x,y)
if x>room_width-sprite_width/2
draw_sprite(sprite_index,image_index,-room_width+x,y)

Espero que seja isso Smile
Boa sorte ai Happy
avatar
Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

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

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: Personagem aparece do outro lado.

em Qui 03 Fev 2011, 13:18
Amigão isso aqui deve funcionar:
Evento CREATE:

x_espelho = -9999;

Evento STEP: (depois dos seus calculos)

x_espelho = -9999;
if (x < 0)
{
x_espelho = room_width + x;
}
if (x + sprite_get_width(spBoneco) > room_width)
{
x_espelho = x + sprite_get_width(spBoneco) - room_width;
}

Evento DRAW:

draw_sprite(sprite_index, image_index, x, y);
if (x_espelho <> -9999)
{
draw_sprite(sprite_index, image_index, x_espelho, y);
}

Evento Outside ROOM

//"Wrap Horzontal When outside" DragDrop

Ou voce pode ver um exemplo que fiz
Aqui
Flws!


Última edição por vinians em Qui 03 Fev 2011, 13:29, editado 1 vez(es)
avatar
Data de inscrição : 13/01/2011
Número de Mensagens : 36
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Personagem aparece do outro lado.

em Qui 03 Fev 2011, 13:26
Nossa cara obrigado mesmo deu certo.
Mais quando eu ponho os movimentos de plataforma nele tipo pular andar gravidade ai fica cheio de bugs.
Eu uso esse codigo no meu jogo ponha isso em "Step".


Código:
if keyboard_check(vk_right){
if place_free(x+5,y)
x+=5
}

if keyboard_check(vk_left){
if place_free (x-5,y)
x+=-5
}

{
if keyboard_check_pressed(vk_up)
if!place_free(x,y+2){vspeed=-12}
}


{
if place_free(x,y+2)
gravity=1
else
gravity=0
}
avatar
Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

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

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: Personagem aparece do outro lado.

em Qui 03 Fev 2011, 13:30
LORD @.N.D escreveu:Nossa cara obrigado mesmo deu certo.
Mais quando eu ponho os movimentos de plataforma nele tipo pular andar gravidade ai fica cheio de bugs.
Eu uso esse codigo no meu jogo ponha isso em "Step".


Código:
if keyboard_check(vk_right){
if place_free(x+5,y)
x+=5
}

if keyboard_check(vk_left){
if place_free (x-5,y)
x+=-5
}

{
if keyboard_check_pressed(vk_up)
if!place_free(x,y+2){vspeed=-12}
}


{
if place_free(x,y+2)
gravity=1
else
gravity=0
}
Entendi amigo, verifique agora com o Outside Room Event, eu atualizei o exemplo.
Flws!
avatar
Data de inscrição : 13/01/2011
Número de Mensagens : 36
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Personagem aparece do outro lado.

em Qui 03 Fev 2011, 13:42
Deu bug novamente para ficar mais facil fiz uma demo que mostra o bug joga um pouco que você ve.

Link:
mediafire.com ?ntagialycljnpv0
avatar
Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

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

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: Personagem aparece do outro lado.

em Qui 03 Fev 2011, 19:07
Eu vi o bug amigão e dei ajustada na engine.
Download Aqui!
Agora pelo que testei está funcionando aqui.
avatar
Data de inscrição : 13/01/2011
Número de Mensagens : 36
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Personagem aparece do outro lado.

em Qui 03 Fev 2011, 19:13
Nossa cara obrigado mesmo.
Mais tem uma coisa que acontece quando eu estou quase passando para o outro lado estou no bem no meio dos dois ai eu pulo e o personagem sobe e não desce mais.
avatar
Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

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

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: Personagem aparece do outro lado.

em Qui 03 Fev 2011, 19:28
LORD @.N.D escreveu:Nossa cara obrigado mesmo.
Mais tem uma coisa que acontece quando eu estou quase passando para o outro lado estou no bem no meio dos dois ai eu pulo e o personagem sobe e não desce mais.
É verdade amigão! No Evento STEP la no final comente do and em diante assim:
Código:

if place_free(x, y + 1) //and (x_espelho = -9999)
{
    gravity = 1; 
}
Acho que é isso!
avatar
Data de inscrição : 13/01/2011
Número de Mensagens : 36
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Personagem aparece do outro lado.

em Qui 03 Fev 2011, 19:34
Arumou isso mais apareceu outro bug quando eu vou para esquerda atraveso para direita depois volto e vou andando até a direita e atraveso ai da bug.

É só ficar jogando um pouco que o bug aparece.
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