vlw irmão, já não é a primeira vez que eu assisto seu tutorial e esse vídeo, infelizmente eu acabei perdendo um projeto quase completo mas graças a esse vídeo, ele já me ajudou bastante a refazer tudo
Bom vídeo! Só avisando que essa colisão não funciona se você usar movimentação que gera valores quebrados (no seu caso movimento na diagonal) por causa do jeito que o gamemaker esta calculando as máscaras de colisão nas versões atuais dele.
Gui, acabei de começar a mexer no game maker e o seu canal é o que mais me ajudou, muito obrigado, pode ser um paragrafo bobo, mas você nem imagina o quanto me ajudou
mt obg usei sua colisao no meu primeiro jogo, tem alguns problemas na vdd e so um, eu tava testando e tava tudo dando certo ate a hora que eu clickei o w ou o s junto com a ou d e eu fiquei por um pixel da parede
@@D1nielllllllllllllllllllllll Só ver se ta colidindo horizontalmente e checar se a velocidade horizontal do player é maior q 0, se for, vai aumentando ou diminuindo o x do objeto
Fale cara, no caso, sempre q eu quiser colisão para por exemplo delimitar a área navegável do game eu devo fazer esse obj de colisão? N tem um jeito de marcar no mapa com uma linha igual no unity?
fiquei o dia todo tentando fazer uma colisão pro meu jogo, e nem essa deu certo...ele é totalmente top-down e o player gira o boneco com o mouse, então quando eu encosto na parede e giro o boneco ele entra na parede e buga, ja olhei mascara de colisão, já tentei move and colide, não estou conseguindo resolver, será que alguém sabe?
isso serve para dizer para o computador na hora q ele esta lendo o script q aquela linha de código terminou, se não colocar esse ponto e virgula pode dar erro no script em caso 100 por cento dos casos
@@victor14041997 Na realidade, isso não é obrigatório, você pode colocar e não colocar se você quiser, há linguagens de programação em que você não pode colocar (Como python) e a outras que é obrigatório colocar (Como C++), mas o GML (GameMaker Language, a linguagem do GameMaker) não é obrigatório, ou seja, você pode colocar ou não, tudo depende de você.
ola! sou novo no gamemaker e queria perguntar como eu faço o codigo para toda ves que eu apertar "A" ou "D" ele ficar invertido horizontalmente, pode me ajudar?
Boa noite caro colega, é muito simples, é só fazer que caso A esteja pressionado, a largura será -1, e se D for pressionado, a largura será 1, e somente adicionando isso ao código, estará funcionando perfeitamente, espero ter ajudado.
so uma pergunta como eu aplico esse sistema no meu codigo pois o meu codigo de andar e diferente eu uso um mais simples if keyboard_check(ord("A")) { x = x -6 } if keyboard_check(ord("D")) { x = x +6 } if keyboard_check(ord("W")) { y = y -6 } if keyboard_check(ord("S")) { y = y +6 } ????????
Daria. Só criar um #region e colocar todos os códigos, dando ctrl c ctrl v nos outros mudando o obj, pra n poluir o #region e o #endregion poderia minimizar o código pra você
@@Wilsoncode_Dev Falei no tom da brincadeira mas vamos lá r😁: Então, o "place_meeting" com "while" faz a mesma coisa embora eu vejo como uma "gambiarra" que "empurra" o objeto contra o outro até encostar.. Pensando de maneira matemática e lógica, o objeto que vai colidir (Player ou outro) não precisa ser empurrado com acréscimos de 1 ou -1, apenas ele precisa receber a diferença positiva ou negativa da distancia entre os lados caso essa distancia seja menor que a velocidade horizontal ou vertical do player durante a previsão de colisão. Eu gosto de usar o instance_place pra isso e fica mais ou menos assim usando colisão vertical: // Testando colisao na vertical var _instColisor=instance_place(x,y+vel_vertical, objColisor); if(_instColisor!=noone){ if(vel_vertical>0){ // se estou caindo ou descendo vel_vertical=_instColisor.bbox_top-bbox_bottom; } if(vel_vertical
vlw irmão, já não é a primeira vez que eu assisto seu tutorial e esse vídeo, infelizmente eu acabei perdendo um projeto quase completo mas graças a esse vídeo, ele já me ajudou bastante a refazer tudo
Bom vídeo!
Só avisando que essa colisão não funciona se você usar movimentação que gera valores quebrados (no seu caso movimento na diagonal) por causa do jeito que o gamemaker esta calculando as máscaras de colisão nas versões atuais dele.
@@gui_oficialjá produziu?
sabe como resolver isso ?
@@brunoalves3502
verdade, só fununcia em ambiente fechado e de paredes sem quinas...
mas da sim pra resolver
@@brunoalves3502
conseguiu?
Gui, acabei de começar a mexer no game maker e o seu canal é o que mais me ajudou, muito obrigado, pode ser um paragrafo bobo, mas você nem imagina o quanto me ajudou
Me ajudou muito, finamente alguém explicou de uma maneira que eu entendi, slk vou até me inscrever!
Muito bom o video, você poderia ensinar como fazer pulos em top down.
mt obg usei sua colisao no meu primeiro jogo, tem alguns problemas na vdd e so um, eu tava testando e tava tudo dando certo ate a hora que eu clickei o w ou o s junto com a ou d e eu fiquei por um pixel da parede
mas ta mt top
muito obrigado, estava a colocar a colisão no momento errado.
cara vc explica muito bem eu consegui aprender muito fácil
Gui faz um vídeo fazendo um sistema de loja de loja de armas (tipo aparecendo E para interagir)
to curtindo de mais esses videos separados para ensinar coisas simples
Muito bom gui, show. 😆
tudo bem?
como estou vendo esse video de 2 anos atras, gostaria de saber qual a diferença de usar o evento colisão e esse q foi ensinado
mano eu queria fazer um jogo em que quando ele colide com algo ele move tem como me ajudar?
So vc por pra quando ele colidir ele não parar de andar (ou seja excluir a parte onde faz ele ficar parado)
@@al3smaofc ele queria dizer q quando ele colide ele empurra
o objeto
@@D1nielllllllllllllllllllllll Só ver se ta colidindo horizontalmente e checar se a velocidade horizontal do player é maior q 0, se for, vai aumentando ou diminuindo o x do objeto
Ótimo vídeo!
Fale cara, no caso, sempre q eu quiser colisão para por exemplo delimitar a área navegável do game eu devo fazer esse obj de colisão? N tem um jeito de marcar no mapa com uma linha igual no unity?
canal bom dms
fiquei o dia todo tentando fazer uma colisão pro meu jogo, e nem essa deu certo...ele é totalmente top-down e o player gira o boneco com o mouse, então quando eu encosto na parede e giro o boneco ele entra na parede e buga, ja olhei mascara de colisão, já tentei move and colide, não estou conseguindo resolver, será que alguém sabe?
brigadooo
ae mano, me ajudou muito, mas quando estou colidindo verticalmente, o jogo está crashando, e n faço a menor ideia do por que... :/
uma pergunta pra que serve o ; no final das variaveis??
isso serve para dizer para o computador na hora q ele esta lendo o script q aquela linha de código terminou, se não colocar esse ponto e virgula pode dar erro no script em caso 100 por cento dos casos
@@victor14041997 Na realidade, isso não é obrigatório, você pode colocar e não colocar se você quiser, há linguagens de programação em que você não pode colocar (Como python) e a outras que é obrigatório colocar (Como C++), mas o GML (GameMaker Language, a linguagem do GameMaker) não é obrigatório, ou seja, você pode colocar ou não, tudo depende de você.
show
mano eu to atravessando a parede e algumas vezes eu fico preso ou teleporto pra a outra parede
ola! sou novo no gamemaker e queria perguntar como eu faço o codigo para toda ves que eu apertar "A" ou "D" ele ficar invertido horizontalmente, pode me ajudar?
Boa noite caro colega, é muito simples, é só fazer que caso A esteja pressionado, a largura será -1, e se D for pressionado, a largura será 1, e somente adicionando isso ao código, estará funcionando perfeitamente, espero ter ajudado.
so uma pergunta como eu aplico esse sistema no meu codigo pois o meu codigo de andar e diferente eu uso um mais simples
if keyboard_check(ord("A"))
{
x = x -6
}
if keyboard_check(ord("D"))
{
x = x +6
}
if keyboard_check(ord("W"))
{
y = y -6
}
if keyboard_check(ord("S"))
{
y = y +6
}
????????
mano, o meu era =... não funciona, faiz assim pq é melhor e mais facil
Gui ensina a fazer um multiplayer basico 🥦🥦🥦
o meu parou de andar mano
Como eu adiciono mais objetos na colisão? Eu teria que criar um código igual pra cada?
Daria. Só criar um #region e colocar todos os códigos, dando ctrl c ctrl v nos outros mudando o obj, pra n poluir o #region e o #endregion poderia minimizar o código pra você
Ou cria um código de colisão. Ai quando você quer que seu personagem pare quando colidir, tu cria um código de colisão para aquele bloco.
Mais o que eu faço quando eu quero bota um objeto diferente?
mesmo codigo, mas nome diferente EX: " if(place_meeting(x + velh, y, obj_wall))"
o meu e tipo hotine miame o boneco gire ele entra na parede
mn pra mim ele entra dentro do bloco, e vai indo para frende, bem devagarsinho
foda que não consegui mesmo seguindo cada passo
Gui o link do Discord expirou
o meu n ta funcionando
encontrei um bug.Se eu colidir exatamente na quina da parede,ele trava
orbigado
nao funcionou
eu criei um modelo melhor embora o rsultado seja o mesmo
como vc fez ? estou com dificuldades para aprender esse place meeting
@@Wilsoncode_Dev
Falei no tom da brincadeira mas vamos lá r😁:
Então, o "place_meeting" com "while" faz a mesma coisa embora eu vejo como uma "gambiarra" que "empurra" o objeto contra o outro até encostar..
Pensando de maneira matemática e lógica, o objeto que vai colidir (Player ou outro) não precisa ser empurrado com acréscimos de 1 ou -1, apenas ele precisa receber a diferença positiva ou negativa da distancia entre os lados caso essa distancia seja menor que a velocidade horizontal ou vertical do player durante a previsão de colisão.
Eu gosto de usar o instance_place pra isso e fica mais ou menos assim usando colisão vertical:
// Testando colisao na vertical
var _instColisor=instance_place(x,y+vel_vertical, objColisor);
if(_instColisor!=noone){
if(vel_vertical>0){ // se estou caindo ou descendo
vel_vertical=_instColisor.bbox_top-bbox_bottom;
}
if(vel_vertical
nao deu certo? tem algum problema?
kkkkkkkkkkkk