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
» Servidor de Discord do fórum?
por Super Games Ontem à(s) 01:27

» Problemas com a caixa de diálogo, ela é pequena e as letras não cabem dentro
por Rukasu777 Qui 16 maio 2024, 18:10

» Problemas com particulas
por RastaMaan Dom 12 maio 2024, 17:03

» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08

» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

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

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

» 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

» 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


Como empurrar uma caixa

4 participantes

Ir para baixo

Como empurrar uma caixa Empty Como empurrar uma caixa

Mensagem por BugueiXD Qua 03 Jun 2015, 19:52

Olá pessoal, passei aqui rapidinho porque não estou conseguindo fazer o meu player empurrar um objeto, sei que existem tutoriais sobre isso no fórum, mas eu queria que meu player só empurrasse a caixa ao apertar uma tecla, e também mudasse de sprite ao empurrar
BugueiXD
BugueiXD

Data de inscrição : 28/10/2014
Reputação : 1
Número de Mensagens : 29
Prêmios : Como empurrar uma caixa 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

Como empurrar uma caixa Empty Re: Como empurrar uma caixa

Mensagem por Thyago Qua 03 Jun 2015, 19:57

Basta checar a distancia e se esta precionando a tecla

Código:
if(distance_to_object(obj_caixa)=0 and keyboard_check(tecla){
empurra a caixa
}
Thyago
Thyago

Games Ranking : Nota B

Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios : Como empurrar uma caixa Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 1 Bronze x 0

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

Ir para o topo Ir para baixo

Como empurrar uma caixa Empty Re: Como empurrar uma caixa

Mensagem por BugueiXD Qua 03 Jun 2015, 20:29

Até ai eu entendi, mas queria que o meu player agarrasse na caixa, e arrastasse ela tanto para um lado quanto para o outro
BugueiXD
BugueiXD

Data de inscrição : 28/10/2014
Reputação : 1
Número de Mensagens : 29
Prêmios : Como empurrar uma caixa 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

Como empurrar uma caixa Empty Re: Como empurrar uma caixa

Mensagem por Thyago Qua 03 Jun 2015, 20:36

vc pode colocar

Código:
obj_caixa.x+= x-xprevious;
obj_caixa.y+= y-yprevious;

Existem mil maneiras de fazer isso, depende so seu metodo de programar, se gosta de usar speed, ou x e y, direction entre outros
Thyago
Thyago

Games Ranking : Nota B

Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios : Como empurrar uma caixa Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 1 Bronze x 0

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

Ir para o topo Ir para baixo

Como empurrar uma caixa Empty Re: Como empurrar uma caixa

Mensagem por Willy Qua 03 Jun 2015, 21:02

Não é assim tão simples...

Empurrar caixas requer prever espaço livre tanto por parte do jogador quanto por parte da caixa. O trabalho é dobrado se a função de puxar caixas também for aplicada.

Basicamente, você deve sincronizar o movimento da caixa com o jogador, ou seja, ambos os movimentos devem ser executados exatamente no mesmo momento, evitando que o jogador se atrofie com a caixa. O ideal é você não controlar os movimentos da caixa não no objeto da caixa, mas sim, no objeto que a empurra. Dessa forma, é possível certificar-se que tudo será executado no mesmo step, bem como as corretas verificações que antecipam o movimento.

Possuo essa engine, ela é deveras ultrapassada, mas tem uma base que talvez lhe seja útil... Talvez eu faça um tutorial sobre como empurrar caixas, sei lá, deu vontade.  sorrindo2

Flws... blz
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 : Como empurrar uma caixa 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

Como empurrar uma caixa Empty Re: Como empurrar uma caixa

Mensagem por BugueiXD Qui 04 Jun 2015, 11:02

Willy eu vi sua engine, mas encontrei outro método no fórum, e ele me pareceu mais rápida, no entanto, quando eu passo por cima da caixa, eu sou meio que puxado para o lado, até sair da colisão com ela.

Código:
if (bbox_bottom > other.bbox_top) {
    if (bbox_left > other.bbox_right) {
        other.x -= 1; // mude pela velocidade do objeto que empurra;
    }
    else {
        other.x += 1; // idem;
    }
}
else {
    vspeed = 0;
    move_contact_solid(direction,16);
}

Esse é o código, poderia me ajudar?
BugueiXD
BugueiXD

Data de inscrição : 28/10/2014
Reputação : 1
Número de Mensagens : 29
Prêmios : Como empurrar uma caixa 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

Como empurrar uma caixa Empty Re: Como empurrar uma caixa

Mensagem por Willy Qui 04 Jun 2015, 15:59

Você quer algo mais rápido ou de qualidade? Só por este bug que relatou, já deu pra perceber que não é tão rápido assim.

Nem toda engine é compatível com seu projeto, o ideal, é você estudar a engine e tentar fazer o seu próprio sistema. Entenda que se você utiliza hspeed/vspeed para mover seu objeto, uma engine que empurra caixas usando x+= dificilmente será compatível com seu projeto e vice-versa.

Não sei se existem outros códigos além deste, mas, me parece que esse método não é a prova de paredes. Já fez o teste?

Já faz tempo desde a ultima vez que eu abri a engine que sugeri, não me lembro do método que usei e tampouco de sua flexibilidade. Recomendo que esqueça um pouco das engines e procure fazer seu próprio sistema utilizando a lógica que eu disse no post anterior. Dessa forma, você terá pleno entendimento do seu código e poderá fazer as devidas modificações sem maiores problemas.

Quanto ao código que pediu que eu ajudasse... Bom, ele tá usando x+= e speed. Tem tudo pra dar errado isso ae. Perceba que o funcionamento da engine não depende só da forma de movimentação da caixa, mas também da forma de movimentação do objeto que empurra que deve ser a mesma.

Flws... blz
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 : Como empurrar uma caixa 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

Como empurrar uma caixa Empty Re: Como empurrar uma caixa

Mensagem por andrewsnycollas Qui 16 Jul 2015, 15:28

Vocês complicam muito as coisas.

É só criar uma variável de controle pra quando estiver agarrando. E enquanto ela estiver verdadeira igualar a velocidade da caixa com a do jogador.
avatar
andrewsnycollas

Data de inscrição : 27/07/2012
Reputação : 0
Número de Mensagens : 25
Prêmios : Como empurrar uma caixa 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

http://andrewsnycollas.blogspot.com.br/

Ir para o topo Ir para baixo

Como empurrar uma caixa Empty Re: Como empurrar uma caixa

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