Is this a bug or intended? Some events ignore conditions

Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.

A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.

Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!

Clickteam.
  • This below, don't work. It bounces even when the value is different than 0

    * User clicks with left button on Active
    Active : Set NoClip to 1

    * Active collides with the background
    + NoClip of Active = 0
    Active : Bounce


    But this, works normally (but a friend says it causes other kinds of problems)

    * User clicks with left button on Active
    Active : Set NoClip to 1

    * NoClip of Active = 0
    + Active collides with the background
    Active : Bounce

    As you can see, I just changed the order... What's going on?

  • I tried your first option and it worked fine with me.. Are you sure you don't have something somewhere else changing NoClip of Active back to zero?

    Here is what I got
    Please login to see this attachment.

  • "collision between" is a green condition (aka immediate condition), which means it gets checked before all other events, which means it must be the first condition in its event otherwise it gets ignored. You'd have the same problem if you put a "start of frame" condition in 2nd spot, for example. If you want to test for collision not in the topmost condition, then you must use the "is overlapping" condition, which is a normal condition and not a green one.

    I don't know what's causing your exact problem, but part of it is probably to do with the "+ Active collides with the background " being ignored in the second version

    EDIT: Actually, I also just recreated your examples, and the "collides with" condition in the second version, even though it's bright red, still works. So looks like I was wrong about it being ignored. Though, like Sprite, the version works correctly when I recreate it

    Please login to see this link.
    My Fusion Tools: Please login to see this link. | Please login to see this link. | Please login to see this link.

    Edited 2 times, last by Volnaiskra (August 1, 2019 at 3:08 AM).

  • OK, I see what's happening, but I don't understand why. When Sprite and I recreated your events, we only tried it with one object, which was misleading. You probably should have uploaded an MFA, and we would have seen that - I'm betting - you have more than one duplicate of the active object in frame.

    When there are multiple instances of the active object, your first version ceases to work....until you click on every available object, at which point all objects will no longer bounce.

    What I think that means is that the Actives identified in this condition aren't affecting scope (well, actually, I guess it's both conditions...I'm confused):

    Please login to see this picture.

    So, as long as any active in the frame has NoClip=0, that event will trigger, regardless of the NoClip value of the particular active that collided with the background is. That's why, when you click on all actives, and there are no longer any actives with NoClip=0, then that event finally stops triggering.

    I don't understand why that collision condition wouldn't scope. It's surprising to me. But I've never actually used backdrops in my own MFAs, so maybe this is a well-known issue that I wasn't aware of. If not, perhaps [MENTION=5114]Yves[/MENTION] or someone can explain what's going on. Anyway, a solution is to use a forEach loop to force correct scoping. However, there's a separate weirdness that messes things up. First off, look at this:


    Please login to see this picture.

    This works. By using a forEach loop to properly scope the objects, everything works as intended: all objects will fade to 150 on collision except for those you click on. But of course, you wanted them to bounce, not fade. But if we do exactly the same as above, but instead of fading, we bounce, it all breaks:


    Please login to see this picture.

    This doesn't work at all. None of the objects bounce, even if you don't click on anything! Or at least, only some of them bounce, very rarely. I have no idea why, but putting bouncing in this forEach loop seems to somehow break the bouncing. I first thought that maybe the collision is being triggered twice, so it does two rapid bounces for each object which cancel each other out. But I don't think so. Because when I added this counter, it does indeed seem that the collision only gets triggered once per object:


    Please login to see this picture.


    Here, my 3 objects, which started inside the rectangle constructed of backdrops, crossed over them on their way out of the frame (colliding but not bouncing), triggering event #3 once each:

    Please login to see this picture.

    Please login to see this link.
    My Fusion Tools: Please login to see this link. | Please login to see this link. | Please login to see this link.

    Edited 5 times, last by Volnaiskra (August 1, 2019 at 4:12 AM).

  • I'll also add that colliding against an active doesn't have the problem of non-scoping. If you recreate your first version, but testing against collision with an active rather than with the background, then everything seems to work as intended (objects will bounce, but will stop bouncing if clicked):

    Please login to see this picture.

    Please login to see this link.
    My Fusion Tools: Please login to see this link. | Please login to see this link. | Please login to see this link.

    Edited 2 times, last by Volnaiskra (August 1, 2019 at 4:09 AM).

  • Quote

    So, as long as any active in the frame has NoClip=0, that event will trigger, regardless of the NoClip value of the particular active that collided with the background is. That's why, when you click on all actives, and there are no longer any actives with NoClip=0, then that event finally stops triggering.

    I took a look, there is some weird code specific to the Bounce and Stop actions and this code is quite difficult to understand. Apparently this was done like this to solve some issues or specific cases and changing it would cause more problems. Not sure if I'll have more time later to figure out the reason behind this, probably not. I don't think this code can be modified in 2.x.

  • I tried your first option and it worked fine with me.. Are you sure you don't have something somewhere else changing NoClip of Active back to zero?

    Here is what I got
    Please login to see this attachment.

    I think it only happens when a active colide with a backdrop, not another active.

    And yes, [MENTION=15682]Volnaiskra[/MENTION] , in fact I'm using multiple instances, I forgot to mention.
    So it's really a bug...

    Well, at least it's a very specific kind of event, but I was debating about this with a group of Fusion developers...

    Edited once, last by NaitorStudios (August 3, 2019 at 12:43 AM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!