Non-solid attribute

This forum is currently in read-only mode.
  • you can

    Indeed you can, but it requires canvas - again. With antisolid attribute, all you'd have to do is add it to the bubble and it'd be done - no events required besides moving the bubble.

  • A large canvas would nuke the FPS, especially if it is updating every tick. A low-overhead alternative would be nice.

    However, as it stands, we can develop a custom movement engine and just move when it is overlapping terrain AND the passability mask. The behaviours are there to make things easier, however they are a little rigid and if you want to make it do what you want to do, there is now the Custom Movement behaviour to fulfill your wettest dreams.

  • i realize the attribute would be more convenient, but as a workaround without large canvases. put every would be solid and antisolid erase mask in a family. make a solid canvas 2 pixels wider than your character, and it have it 'always' set to the characters position. and use the same technique as above then you have your full solution with no large canvases, and only 4 actions -always- set canvas position to character clear canvas paste family update collision mask

    EDIT: nevermind, this doesn't work at all

  • yeah as nice as non-solid sounds, it's also VERY specific.

    so you should probably work it with events

  • With what event's? It is already stated that you can do it with canvas, but that solution wasn't too perfect.

  • With what event's?

    you must have missed what was said. Ready Mipey's post

  • Create your own movement engine. Allow it to move only if it is overlapping "passable" while on "solid", or if it is not overlapping "solid".

    It can be tricky to develop your own movement engine, however I believe it is well worth it, since you can customize it to your heart's content. Double, triple jumps, slides, whatever. The platform movement behaviour is kind of a basic template that is there for less demanding users.

  • > With what event's?

    >

    you must have missed what was said. Ready Mipey's post

    No, I didn't miss what was said. The method suggested doesn't work the same way as proper solution would. "Is overlapped by passable" is different from "is totally covered by passable".

    Imagine that there is a mountain and a tunnel. With "overlapping passable" the character could move inside a solid rock wall, if it overlapped "passable" by just one pixel. If there would be "is totally covered" condition (= There isn't ANY pixel which DON'T overlap), it would be possible to do correct way - so that character couldn't overlap the solid rock at all.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • i think, although this isnt nearly as simple to implement as your original suggestion, i think it would work

    you would have to make two separate objects

    the passthrough or antisolid

    and another object that is an outline of its shape

    then you can say,

    -character is overlapping antisolid

    -is not overlapping antisolidborder

    that should work

  • Yes, that indeed would work.

    But only when using one outline. If you wanted to build a labyrinth using many tunnel sprites and their outlines, the outlines would block the character from moving from one tunnel to another in an intersection.

  • you could put antisolid and antisolidoutline in a group, and then

    -always

    --enable collision

    -on collision with antisolid

    -(inverted) on collision with antisolid outline

    --disable collision

    that way, if its true for at least one antisolid/outline combo, it will be passable

    i think that should work for the intersection scenario as well

  • If you wanted to build a labyrinth using many tunnel sprites and their outlines, the outlines would block the character from moving from one tunnel to another in an intersection.

    Keep the outline open on the exits

  • mad

    he meant if you have the exits open like youre saying, with a straight line sortof tunnel, and you wanted it to cross over another straight line tunnell without making a new type of intersection tunnel

    the post i posted before your post should work in that situation though

Jump to:
Active Users
There are 2 visitors browsing this topic (0 users and 2 guests)