Conectar-se

Esqueci minha senha

Últimos assuntos
» [Duvida] O que aprender
Hoje à(s) 15:32 por Markituh

» BUILD FAILED: Cannot find BUILD.xml
Hoje à(s) 14:50 por ReisBlender

» Nota de esclarecimento - GMBR voltou!
Sex 23 Jun 2017, 20:33 por Willy

» Regras do Fórum
Sex 23 Jun 2017, 19:02 por GMBR

» Retorno da GMBR!!!
Ter 24 Jan 2017, 15:43 por GMBR

» Jogo Dengue HTML
Seg 30 Nov 2015, 16:17 por guga

» Criando IA Simples para inimigos
Qua 25 Nov 2015, 19:22 por DJDAVYD

» Ordenar variavel em ordem decrescente
Sex 28 Ago 2015, 21:09 por Kodained

» colisão de queda após outra colisão dando problema
Qui 27 Ago 2015, 13:51 por manobrother

» Crio Trilha Sonora para Games!
Qui 27 Ago 2015, 13:50 por Isaias Malafaia

» Problema com Colisão
Qui 27 Ago 2015, 12:30 por The_Game

» Quem quer Uma Engine, e de Quê?
Qui 27 Ago 2015, 09:22 por theguitarmester

» [RESOLV]Como adicionar 2 objetos na mesma posição?
Qua 26 Ago 2015, 11:38 por Bhryenno Kelvyn Carlson

» Sistema de porta!!!
Ter 25 Ago 2015, 21:29 por theguitarmester

» Venda de objetos em Inventário - Multiplicado
Seg 24 Ago 2015, 18:33 por AG Hydra

» Atirar na direção certa
Seg 24 Ago 2015, 09:03 por theguitarmester

» Western Duels
Seg 24 Ago 2015, 07:47 por theguitarmester

» Problemas na compilação android
Dom 23 Ago 2015, 23:43 por Zero.

» Dúvida sobre strings, lendo txt
Sab 22 Ago 2015, 20:31 por Pai véi

» Como estabilizar um som
Sab 22 Ago 2015, 19:03 por Isquilo_Roedor

» Janela Modal
Sab 22 Ago 2015, 09:23 por Pai véi

» Sobre instance Creation Code
Sab 22 Ago 2015, 08:39 por Pai véi

» LudumDare #33
Sex 21 Ago 2015, 21:17 por WellingtonBecker

» Como fazer um temporizador
Sex 21 Ago 2015, 19:02 por Isquilo_Roedor

» GMS sempre salva projeto ao compilar?
Sex 21 Ago 2015, 12:32 por Pai véi

Quem está conectado
36 usuários online :: 3 usuários cadastrados, Nenhum Invisível e 33 Visitantes

Fubukki, Lighter, Willy

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36

Como empurrar uma caixa

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Como empurrar uma caixa

Mensagem por BugueiXD em 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
avatar
BugueiXD

Data de inscrição : 28/10/2014
Número de Mensagens : 29
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Como empurrar uma caixa

Mensagem por Thyago em 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
}
avatar
Thyago

Ranking : Nota B
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Número de Mensagens : 1092
Insígnias de JAM :

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

Prêmios
   : 1
   : 1
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Como empurrar uma caixa

Mensagem por BugueiXD em 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
avatar
BugueiXD

Data de inscrição : 28/10/2014
Número de Mensagens : 29
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Como empurrar uma caixa

Mensagem por Thyago em 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
avatar
Thyago

Ranking : Nota B
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Número de Mensagens : 1092
Insígnias de JAM :

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

Prêmios
   : 1
   : 1
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Como empurrar uma caixa

Mensagem por Willy em 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

_________________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo

avatar
Willy

Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1813
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1

Ver perfil do usuário http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Como empurrar uma caixa

Mensagem por BugueiXD em 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?
avatar
BugueiXD

Data de inscrição : 28/10/2014
Número de Mensagens : 29
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Como empurrar uma caixa

Mensagem por Willy em 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

_________________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo

avatar
Willy

Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1813
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1

Ver perfil do usuário http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Como empurrar uma caixa

Mensagem por andrewsnycollas em 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.

andrewsnycollas

Data de inscrição : 27/07/2012
Número de Mensagens : 25
Insígnias de JAM :

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

Ver perfil do usuário http://andrewsnycollas.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Como empurrar uma caixa

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum