Discord
Community
DARK THEME

Map collision

ok so, before posting this, i saw other posts about this and didn't understanded, well, atleast i understanded how to convert the normal coordinates to the map coordinates but now, how do i make the player collide with the things? and also, how do i sync the map coordinates to the normal ones. Here, let me explain:

here's the game i made to test:https://microstudio.dev/i/menzis/hmm/

my objective was to see if the map coordinates are synced and... they aren't, the left red ball was supposed to be on the coordinates 6,9, the upper one was supposed to be 11,11 and the right bottom one was supposed to be 16,6; How do i sync the map?(and how to i make collisions also :p)

forgot to say that you can see the coords with shift

@menzis acho q achei uma solução, tipo se lembra q eu havia mencionado a Quick Engine ent, eu pensei em fzr uma puta de uma gambiarra pra usar as funções q ela oferece cm câmera tilemapcollision e etc. P.S use isso cm maneira de fzr isso no começo pois essa gambiarra é realmente no intuito de ajuda, nn sei se funcionara pra td mas possa ser q ss

LEMBRANDO é uma puta de uma gambiarra ksksksksk

``````init = function()
// Setup Quick Engine
Quick.init()
Quick.gravity = 0
Quick.friction = 50

// Create a map object and a player
player = new Player(-50,50,map)
end

update = function()
Quick.update()
player.update()
end

draw = function()
screen.clear()
Quick.draw()
end

Player = class
constructor = function(x, y, map)
// Construct the player object
this.x = x
this.y = y
this.s = 1
this.cur_lvl = map
end

update = function()
// Creates variables to keep track of collisions
local upcol = Quick.mapCellAt(this.cur_lvl,this.x,this.y + 6)
local downcol = Quick.mapCellAt(this.cur_lvl,this.x,this.y - 6)
local leftcol = Quick.mapCellAt(this.cur_lvl,this.x - 6,this.y)
local rightcol = Quick.mapCellAt(this.cur_lvl,this.x + 6,this.y)

// Check if key is pressed and space is free, then move
if keyboard.LEFT and not leftcol then this.x -= this.s
elsif keyboard.RIGHT and not rightcol then this.x += this.s end
if keyboard.UP and not upcol then this.y += this.s
elsif keyboard.DOWN and not downcol then this.y -= this.s end

// Finally apply input to Quick-Object
this.obj.x = this.x
this.obj.y = this.y
end
end
``````

If you want to use it, import the library Quick Engine into your project, and you should have a dynamic collision code for maps pretty much.

@confusedcatgirl i think then is too early to introduce classes for him because, if he just copy the code and after don't know what to do.For example if he wanna do a bullet, in normal microscipt is easy but using classes is almost inviable for a begginer, it's just my opinion but if he want to use your code, he can because your code is really good.

Hmmmmm, based on how i don't understand a thing that's happening here, it's going to be better if i leave this for now and learn some more code lol

@menzis eu documentei a gambiarra e DETALHE nn precisa de classes e é mt facil de entender, eu sou iniciante q nm tu skskkssks pra tu ter uma ideia eu nm entendi oq ela escreveu skskks, qrr aprender a programar em microstudio tm tultoriais de cm se usar alias nm td esta em portugues mas e so traduzir dai fica td joia

@menzis um jeito bm de começar a aprender microscript é fzr um jogo shooter topdown recomendo

Yea he said his code was bad and yours better already why are you insisting so much? (btw we are speaking portuguese but that doesn't matter since it's a common mistake)

@menzis eu só estou tentando ajudar pois mt coisa aq está em inglês inclusive as documentações de jogos, mas se vc qrr seguir um conselho de uma grta q só qr atenção e ñ está nm aí pra saber pra qual caso vc precisa disso e as circuntancias, dai já vai do teu gosto, pra vc ter uma noção, creio eu q vc usa o microstudio a uma semana ou duas, e ela te recomendou um código cm class, sndo q vc entrou agr aq.Ela nn liga em saber pra q vc precisa desse código, e ela realmente nn liga se vc é iniciante ou nn entende?(aliás ela é tão sm noção a ponto de achar q estamos flnd em português).

Teve uma postagem mnh perguntando, cm eu poderia resolver o problema do meu codigo nn ter funcionado qnd eu tentei fzr água estilo Meowy's Adventure, dai ela veio e foi super rude, flnd q pra resolver isso era extremamente simples e os crlh a4, mais ela esquece q eu sou iniciante e esse esta sndo o meu primeiro contato cm programação, eu ignorei dai outro dia eu postei cm eu poderia fzr particulas, dai o @Loginus me deu um exemplo, cm eu nn expliquei direito cm eu qria q as particulas fossem, ele me deu outro, dai essa mina se meteu dnv e disse q era extramamente simples, sndo q o @Loginus me deu 3 exemplos e dps ainda fez um projeto usando aquilo q ele me recomendou, mais cm nn era oq eu qria eu fui la e usei o exemplo do Fennec Adventure, pois eu qria um estilo de particula pra qnd o player pulasse.

Resumindo, ela nn sabe oq esta flnd, pode ser ss q o codigo dela seja melhor, mas doq adianta se nos nn sabemos cm aplicar isso e modifica-lo, por isso eu to insistindo, pois eu qr q a comunidade br creça mais e mais aq dentro, mas é isso, eu só tentei ajudar da maneira q eu sei e do jeito q outra pessoa q está começando q nm eu entenda, pois eu apanhei mt pra entender cm funciona algumas coisas aq dentro ksksksks.

Cr nn desista daquele projeto, pois se vc tiver uma duvida vc pode vir e perguntar na comunidade, cm eu disse ignora essa mina qm responde direito e eu posso confirmar pois ele responde só tds as perguntas skksks, é o @Loginus, é só deixar a tua pergunta aq q ele smpr responde na parte da manhã ou entt da tarde

Se quiser colab pra jogo é só me chamar.

Tá de boa man, inglês realmente não é muito um problema pra mim pq eu sou meio fluente msm e tbm na mensagem em cima eu tava respondendo a mina q tava respondendo sua msg de forma bem grossa mas agr eu vi q ela deletou, n tava falando q vc tá insistindo n kkkkkkkkkkk

@menzis , att kskskskks mas iai já entendeu cm o microscript funciona, ou já aprendeu cm fzr as colisões do mapa?

Eu entendi um pouco como o microscript funciona mas essas colisões de mapa aí é bem complicado, eu vou aprender outras coisas daí eu volto pra cá

@menzis eu tbm ñ sei cm se faz as colisões do mapa tbm, mas eu vou tentar prender cm funciona daí eu fasso e documento pra ti, dboa?

edit: o ruim do tultorial q eu achei é q ele usa class sksksksk daí fica dificil, pois class é dificil de trabalhar(na mnh visão) mas eu ainda estou a preocurar

edit: amigo eu li tds os reposts de perguntas sobre as colisões do map vulgo tilemap collision, e em tds a resposta era a msm, ou recomendavam a QuickEngine ou recomendavam outra solução mas isso é só pra qm já é um pouco avançado tipo, eles usavam `type` ou entt `class` ou `this` q isso é usado em microscript orientado a objetos(POO), enfim, me diz aí oq vc nn entendeu em usar a QuickEngine pois eu começei a usar ela a essa semana, e eu consigo me virar "bem", cm eu sou iniciante eu vou conseguir te explicar do jeito q eu entendi, pois fzr o código de colião por contra própria é coisa pra gnt avançada, mas se vc quiser mt vc pode aprender cm usar `class` q daí tu vai voar ksksksks(aprender isso é um inferno, eu só sei cm se usa o `this`, o `class`, o `constructor`, `Extended`(q é a herança, topico do POO).

Eu fiquei interessado nesse microscript orientado a objetos, como q ativa ele? Eu acho que vai ficar muito mais fácil pra mim se eu começar a usar isso e também mto obrigado por tá me ajudado até agr man vc é incrível 🤝

@menzi skskskskksskk man vlw msm plo elogio skskks. O microstudio orientado a objetos ele já vm cm o microscript normal, ele deixa TD absolutamente TD mais facil, vai por mim, dps q vc aprender vc nn vai qrr mais largar ksksksks olha pra vc iniciar nesse mnd eu fiz um exemplo bm simplesinh pra vc poder usar e aprender um pouquinho, o bm das `class` no microscript orientado a objetos é q, ele é tão parecido cm objetos mas tão parecidos, q vc pode usar eles de maneira intercâmbiaveis

eu tbm tnh mais um projeto usando `class` mas ele nn esta documentado, mas se vc quiser dar uma olhada, o link esta aq

aliás se vc quiser vc pode usar a documentação, vc vai em `programação em microscript` e dps vc desse nos topicos a esquerda e vai ate `classes` e la vai estar cm definir classes entre outros, e tbm cm usar a um dos conceitos das linguagens de programação orientadas a objetos, a `herança` mas aq e chamada de `Extended`

mas enfim, qnd tiver uma duvida nn fique questionando se deveria fzr ou nn, vc nn so pode, cm deve fzr uma pergunta, e e mt importante pra q aprendamos coisas novas, mas mas essse é um pouco doq vc precisa saber pra usar `class` se quiser pode me contatar pela mnh cont anonima no insta @softstardumb (medo de dar meu @ real) qualquer coisa so me chamar por la ou por aq.

cm vc vai aprender a usar `class` eu vou ver se eu consigo documentar o exemplo de `tilemap collision` pra ver se tu entende sm problemas, lembre-se, nn tnha medo de preguntar.

edit: se quiser usar essa marcação aq `paia` é só vc colocar esses três ascentos ``` no inicio e no fim de um código ou de algo q queira grifar

Rianstar, just because you talk in a different language does not mean I can understand you very clearly. You went on a rant about me cause my code was not "beginner friendly", and I did not care, and that my answers were extremely rude. Yes, they were not nice, I fully admit it, but I pointed out that the particle issue can be solved by making an animation and a crude animation manager.

Of course, since you deleted the post that contained my answer, neither of us can really prove that.

Also I want to point out that the program I provided above also contains a reference on how to actually integrate it into the main code, so I thought it would balance out any issues that it would come with object calling from the outside. Apologies if it caused problems.

Also, if you have a problem with ME, say it to MY face. Don't start a novel-length rant about how my code is bad, and how I am rude. Just say it to my face, it's really not that hard.

@confused cat girl STOP, GRIL I DON'T REALLY CARE, GO LIVE, you really don't readed my text, and you readed OF COURSE YOU WON'T UNDERSTAND NOTHIN, BECAUSE I WAS USING ABREVIATIONS LIKE vc/you oq/what, girl can i be frank? i don't really car ethe way your answers are rude or not, idon't really care abaout you f@@k if you are copying and pasting our words in the translator and coming here to answer a thing then don't is about you, i said `begginer` and not `begginer friendly`.

I deleted my post cause i used the Loginus answer, but how you anoying, you came here to talk shit so...

i'm talking with a friend and you are `disturbing us`, you're anoying, and this fact get more funny when no one of your friends noticed this, so well...

and also, if write another answer i don't gonna see cause i'm tired of your narcissism, so... excuse me plis, you are disturbing us.

First off, people can think, if you believe it or not. It was translated well enough to allow plenty of interpretation, and I understood more than enough, and I am almost certain that you pulled out at least one insult during your rant. People will see the abbreviation you used, and will try to understand what you meant. And well, it was pretty clear what you meant.

Also why did you delete your post? Someday, someone will come around, have the same problem, and no answer at hand. Also, you gained / lost absolutely nothing through the deletion of your post.

Finally, if you have a problem with people talking in a public post, just go into a private chat, there are more than plenty services available for that =). No need to swear at me cause you have the temper of my sister.

Have a wonderful day.

You two look like two kids fighting over a candy, such a useless fight seriously, let's stop this already goddamn

@menzis essa praga fica seguindo os outrso pra arrumar briga, impossivel ignorar essa porra poi ela segue os outros jesus, q vontade de chamar ela de td qnt e nome, a bixa q ser o centro das atenções, por isso q eu nm respondi esse último aí pois oq ela tm é falta de amor materno e paterno, nn ajuda dai qrr atrapalhar. Mas iai viu o meu replie flnd sobre classes?

vi sim, alias, tem algum botao ou algo assim pra ativar o microscript orientado????????

@menzis migo nn precisa de botão pra ativar `class` já vm imbutido entendeu? td oq vc precisa fzr e usar skksksks

Ex:

``````Menzis = class //cria a class
constructor = function() //cria o objeto Menzis
this.x = 0 //define o eixo x
this.y = 0 //define o eixo y
this.width = 16 //define a largura
this.height = 16 //define a altura
end
end
``````

entendeu? tm mais coisas de cm usar a `class` na documentação. se tiver mais alguma duvida é só me chamar ou no insta, pois cnvrsr aq sm a desquerida voltar dnd e dificil, ou até msm postar um reply, mas vc pode usar meus jogos cm Joy Ultra Adventure ou ghosthunt cm base pra aprender mais.

@menzis eiiiiiiii, eu e mais um cr o @VentorGames estamos qrnd fzr um jogo juntos e olha só, eu e ele somos iniciantes e vc tbm é ent eu gostaria de saber se vc qrr participar? eu só pude respoder ele hj mas assim, eu pedi pra ele me contatar no meu insta pra gnt cnvrsr mlhr pois por aq é dificil, agnt ñ viu qual vai ser o jogo q faremos ainda, mas eu creio q poderia ser um jogo de dungeon e eu qria mt q vc se junta-se agnt pois usaremos isso pra aprender mais, e no fim ainda teremos um game ksksksksk, mas iaí... topa?

Acho q topo mas eu não tenho insta ent vai ser difícil nos comunicarmos, tem alguma ideia de como a gente pode se comunicar???

@menzis email eu achokkkkkkkkkk é q wpp eu nn tnh, tm alguma outra ideia????

Q tal discord?

@menzis, mnh mãe nn deixakkkkkkkk ela diz q tm mt gnt louca, vc poderia criar um, nn precisa de ft de perfil nm nd, e tu ainda pode seguir a tua banda fav, aliás o @VentorGames já me seguiu ksksksksk. nós estamos só te esperando, aliás ele é holandêskkkkkkkk

@menzis vamos fzr um jogo de dungeonkkkkkk

@menzis começamos o prototipo hj, vai topar?

opa, foi mal tava ocupado com outras coisas, ainda posso entrar?