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

Nenhum

Ver toda a lista


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

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

bug Warp e image_xscale

em Seg 09 Jan 2012, 20:23
Bom o título já diz quase tudo, o bug ocorre quando eu utilizo o código de image_xscale para fazer uma sprite espelhada do meu personagem.

O que acontece é que quando meu personagem "entra" em uma das bordas (a direita por exemplo) da room ele aparece do outro lado, (a esquerda no exemplo) nada mais normal, mas ele aparece um 12 pixels pra frente da borda dando um efeito bem ruim como se ele tivesse se teleportado pra lá, eu ignorei esse bug mas quando coloquei mais sprites e mais códigos o warp deixou de funcionar para um dos lados ( o lado direito).

Desse jeito se eu entro na borda esquerda ele sai certinho pela borda direita mas se eu entro pela borda direita ele NÃO SAI PELA BORDA ESQUERDA.

E eu já fiz o teste se eu tiro o image_xscale o warp funciona direitinho.

E então alguém tem um jeito de consertar esse bug?

Obrigado.


Última edição por eubruno em Sex 13 Jan 2012, 14:47, editado 1 vez(es)
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 30/07/2011
Número de Mensagens : 928
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuáriohttp://luizpontes.tk/

Re: bug Warp e image_xscale

em Seg 09 Jan 2012, 22:03
Acho que é um problema com a origem da sprite. Tente colocar o "center" na sprite.
avatar
Data de inscrição : 06/11/2011
Número de Mensagens : 27
Insígnias de JAM :

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

Re: bug Warp e image_xscale

em Ter 10 Jan 2012, 10:21
Fiz isso, minhas imagens estão todas marcado no centro em "X" e no chão em "Y" isso facilita para quando eu uso sprites de arrastar no chão.
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: bug Warp e image_xscale

em Ter 10 Jan 2012, 12:09
Tem muito tempo que não uso drag'n'drop. Quais são os argumentos de move_warp, mesmo? Poste aí pra eu tentar entender melhor.

Já tive um problema parecido que era o seguinte: ao passar de um ponto, à direita, eu jogava o objeto pra esquerda e vice-versa. Só que eu estava jogando o objeto pra esquerda já no ponto além do limite, então ele era jogado de novo pra direita. Parecia que ele ficava parado, mas estava era indo e voltando.
Será que não é isso o que está acontecendo contigo?

Não consigo imaginar qual seria a relação com o image_xscale. Talvez tenha a ver com os bboxes. Mais uma vez, enumere os argumentos da ação pra eu tentar visualizar o que está acontecendo.
avatar
Data de inscrição : 04/11/2010
Número de Mensagens : 235
Insígnias de JAM :

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

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

Re: bug Warp e image_xscale

em Ter 10 Jan 2012, 12:17
Código:
move_wrap(horizontal,vertical,margem)
Tente colocar o Y no centro também.
Se você estiver o usando o GM 8.1 lite pode usar assim também no movimento do player:
Código:
//esquerda
image_angle=180;image_yscale=-1;
//direita
image_angle=0;image_yscale=1;
Apague o image_xscale e use esses códigos. Lembre-se que a origens X e Y do sprite devem estar no centro. Caso contrário você terá problemas.
avatar
Data de inscrição : 06/11/2011
Número de Mensagens : 27
Insígnias de JAM :

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

Re: bug Warp e image_xscale

em Ter 10 Jan 2012, 12:17
Não entendi muito bem oq vc quis dizer mais vou tentar fazer o melhor que eu puder.

No step eu usei uma variável para determinar qual seria a image_xscale ficou assim:
Código:
if lado=0
image_xscale=1
 if lado=1
image_xscale=-1


E coloquei no evento outside room [drag'e'drop] warp in both direction (vertival\horizontal)

EDIT : Fireheaddew seu comando é bom mas como vc mesmo disse se eu usar esse comando terei que modificar a origin das sprites e isso não é bom pra mim pois terei que modificar o tamanho das minhas sprites, mas de todo jeito se eu não tiver mais opções então terei que usar seu código. Obrigado
avatar
Data de inscrição : 04/11/2010
Número de Mensagens : 235
Insígnias de JAM :

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

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

Re: bug Warp e image_xscale

em Ter 10 Jan 2012, 12:25
Apenas faça algumas modificações no código do step. No lugar do seu código coloque esse:
Código:

if lado=0{image_angle=0;image_yscale=1;}//direita
if lado=1{image_angle=180;image_yscale=-1;}//esquerda
Traduzindo
Para funcionar, como disse antes, regule a origin do sprite. Abra o sprite e clique em "Center". Pronto, agora coloque esse código no step.
O image_angle serve para rotacionar a imagem para o lado oposto. Lembre-se que a origin do sprite é o eixo dele. Por exemplo, se a origin ficar X=0 e Y=0, o eixo do sprite será em X=0, y=0. Ah, você já deve ter entendido. Mas quando você girar a sprite para a esquerda, ela vai ficar de cabeça para baixo. para isso você deverá espelhar a imagem verticalmente. Se tudo der certo o efeito será o desejado.
avatar
Data de inscrição : 06/11/2011
Número de Mensagens : 27
Insígnias de JAM :

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

Re: bug Warp e image_xscale

em Ter 10 Jan 2012, 12:34
Na verdade eu tinha escrito a mensagem de cima para o Saim eu entendi seu código só não acho ele sirva muito bem mas se não houver solução terei que usa-lo
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: bug Warp e image_xscale

em Qua 11 Jan 2012, 14:22
Acho que, se funcionar, não precisa centrar em Y.
Estranho. A "margem" significa o quanto você pode sair da room antes da função acontecer, certo? Se o sprite está mesmo centrado em X, não deveria dar erro...

Tente esse código do Fireheaddew. Eu não entendi o raciocínio, mas se funcionar, é o que importa. Se não funcionar, estou sem idéias.
Se você quiser me mandar a source, estou comum pouco mais de tempo nos próximos dias e posso dar uma olhada.
avatar
Data de inscrição : 06/11/2011
Número de Mensagens : 27
Insígnias de JAM :

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

Re: bug Warp e image_xscale

em Sex 13 Jan 2012, 14:47
Olha pessoal desculpa a demora pra postar de novo no tópico.
Mas eu consegui consertar o bug utilizando o código move_wrap era problema na margem mas obrigado por ter respondido o tópico.

Valew
Conteúdo patrocinado

Re: bug Warp e image_xscale

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