Prominent's Forum Posts

  • "When you develop intricate processes that aren't just simple events like these examples, the order of every single step through the process matters- you can't afford to break away and assume it will work with everything else."

    What if a user destroys that object in the same event? What if a user destroys some other instance in the same event?

    What if it's created from a family? What if a user creates yet another instance in a subevent?

    If everything was accounted for, and objects that should be considered created are created and objects considered to be destroyed are destroyed, then that would be no problem. The logic would follow a consistent pattern and you would easily make sense of the events.

  • You can already add a Tilemap to a family.

    You might be trying to add a Tilemap to a family of a different Object Type. You can't have different objects types in the same family.

  • Ashley , if I understand correctly, the reason we can't pick newly created objects within nested subevents is because loops would attempt to reference indices that don't exist within the instance list (because the new objects aren't merged with it until top-level event)?

    And if you wanted to reference an instance that isn't in the instance list, there'd need to be a way to know that it is in the new object list instead- and this is an engineering issue that would require a lot of work?

    Edit: couldn't you give new objects a "would-be" index number, that corresponds to what their index would be when they get added to the instance list. And then when checking instance list, cycle through the would-be indices- if they are greater than the instance list length, then check the new object list instead?

  • That's really weird. I'm wondering if that is some sort of bug?

  • Since 'pick instance by UID' works, I wonder if it can handle a string of multiple UID's? I never tried that.

    That would allow you to pick each individually, but you won't be able to use any actions that work on groups of picked objects, like z sorting. Z sorting requires more than one object to be picked if I understand correctly.

    Also, Pick Nth Instance doesn't include new objects, even though you can Pick by UID.

    There really ought to be a way to include new objects in picking so that there aren't these inconsistencies in the design of events, and also to reduce a need for extra variables and breaks in the flow of the events.

  • Looks like it is related to the project settings. Is your Sampling set to Linear? I think Linear blurs the images if they are resized. I think Point Sampling would keep it crisp? Try messing with the project settings.

  • I'm not seeing the delay.

    The delay to the intended process happens as soon as you break from the event- other events could run before it checks the global variable, events which can rely on what has or hasn't happened in the process.

    When you develop intricate processes that aren't just simple events like these examples, the order of every single step through the process matters- you can't afford to break away and assume it will work with everything else.

  • There's apparently a SOL list, a New Object list, and an Instance List.

    When you create an object, the SOL is set to that new object. It also gets added to the New Object List. However the Instance List (which the picking condition uses) will not have the new objects in them until the next Top Level event.

    The function apparently is not a top-level event, so the new objects don't get added to the Instance list.

    The problem we're facing is that we need a way to pick all the objects, including the objects in the New objects List. Apparently there is no way to do this currently, and I'm hoping Ashley can implement a way to do this.

    It seems silly that creating an object will set the SOL to that new object, allowing you to interact with it instantly, however you can't reselect them until next Top-Level event.

    Because we can't reselect everything, It causes issues in the flow of the program and how things get processed- we have to take into account having to wait until another top-level event, which makes things more complicated than they ought to be. And due to this, there's potential to make more errors because things don't appear as they seem.

    edit: also- newt, that doesn't solve all situations. Referencing a global variable will still cause a delay.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • yea, tunepunk is right- on create doesn't include the new objects in any picking.

    in these events for example, nothing gets rotated:

  • alright, this seems to work:

  • Any way to change friction/elasticity per collision? I'm trying to get a collision response to make an object bounce without friction, and then set it back so that other objects keep their friction/elasticity when they collide.

    I also tried calculating my own response by reflecting across normal, etc, but it doesn't work.

    edit: I got the reflecting working, but the friction still gets applied. I can't find a way to turn off the friction during a collision.

  • thanks! I didn't realize it was different depending on the language.

  • Problem Description

    modulus returns incorrect value. ex: -180%360 should return 180, but instead it returns -180.

    Attach a Capx

    https://1drv.ms/u/s!AhHSZHEulqh_gTrqjJ-vqheM0zLp

    Description of Capx

    on start sets text to the (-180%360)

    Steps to Reproduce Bug

    • run

    Observed Result

    it returns -180.

    Expected Result

    should return 180

    Affected Browsers

    • Chrome: (YES)
    • FireFox: (YES)
    • Internet Explorer: (YES)

    Operating System and Service Pack

    vista sp2

    Construct 2 Version ID

    r227

  • Thanks, that dictionary method looks useful- i'll have to remember that if I need to check pairs.

  • Is there a way to limit On Post collide triggers to run once? Sometimes they run more than once due to multiple collisions at the same time(as far as I can tell). I only need to do certain things based on the last collision, so when it run more than once, it makes errors.

    edit: okay.. seems I figured out the issue:

    I had a condition Sprite.Chipmunk.jointType("Tag")="" in the on post collide. And I was adding the joint in the event, however, it seems it doesn't add it immediately or something.

    I changed it to rely on an instance variable instead, and that fixed the issue.