I'm trying my hand at a simple touch-based mobile dungeon crawler. I got to a point where any option seems to lack something so basic and yet I'm so close to nailing it. Maybe someone can give me an idea.
I tried more than one way top solve this so skip the next two paragraphs if you want to get straight to the point.
So first I thought grid-based movement would be easier to manage, but was I wrong. It's pretty easy to move the player with the keyboard, but using touch to select one of 4 directions is so clunky.
So I started using behavior MoveTo - to Touch Position XY. That works as intended mostly. The player moves towards the coordinates where I'm touching the screen, and stops at solids. I wasn't happy though that the player would completely stop when reaching a solid instead of kind of sliding around it. Looking for a solution for that, I came across a touch stick tutorial, straightforward enough, so I added that too. (in case anyone's interested, this what I used construct.net/en/tutorials/touch-stick-controllers-241/page-4 ).
Ok, now my problem is, I can move the player by detecting the angle the stick is pulled to, but it won't stop on solids.
I suspect this is because I'm moving the player by "Size/Position>Move at angle" instead of actually "MoveTo>Move to position", which seems to comply with collisions. However, how can use MoveTo to go to a certain direction then and not toward a position?
Here's my project. 1drv.ms/u/s!AlBF-Ft-T2VNsIYWv9-Bx4zTJGY8Ug
Here's my event sheet.
Thanks for any help.