tarek2's Forum Posts

  • You can only load one layout at a time, however, you could store the pictures beforehand and just load the Picture. Also, you have the Drawing canvas where you can paste the level and save it somewhere like (Array, Dictionary, Local storage) then load the picture when you need it.

  • Np Glad it was helpful!

    Hoh they are just normal calculations:

    At the "Start of layout" those calculation has to do it so you can have a dynamic system where you change at any time the:

    -Max_Moves

    or

    -StartingScale

    So it will recalculate the values you need at the start of the layout.

    If you change "Max_Moves" it will affect the variable "Move_Dist" as we always have a fixed distance so we need to calculate how far each step can go until rich the endpoint.

    Is the same for the Scale, by reaching the endpoint has to end at the target scale. That's why we recalculate the "Scale_multiplier" at the start of the layout so we know how much scale to apply on each step.

    I would love to learn more about the Construct platform to be able to replicate these sorts of events; I need to find some study material!

    Look for tutorials and maybe construct 3 temples they have plenty and just practice as much as you can then you should get better each time.

    https://www.construct.net/en/tutorials?flang=1

  • Thanks oosyrag and tarek2.

    tarek2 I thought about closing the walls using the existing tiles but can't work out how to extend them by checking the last tile on each side, as you described. Could you give an example please?

    To be honest I think this system will work better with TileMaps as you will have as benefits:

    -A much easier way to create the sectors using the "TileMap Brush"

    -Fewer objects to spawn if you want to create bigger dungeons.

    -Easier to move around the sectors.

    -Just one object to track (Sector & Tiles) are all in one.

    etc...

    So I recreated it with TileMaps:

    https://www.dropbox.com/s/c2divb1fminlvrh/Dungeon%20Generator.c3p?dl=0

    Another benefits is that You can always switch to spawn normal Sprites as tiles if you need to, so it covers both.

  • If it resets picking for every condition, it becomes essentially just "Y < 500" by itself, which will look broken again.

    Yep, that would be my expected behaviour, that it just checks if (Y < 500) by checking all the instances again.

    I dont know if that logic is for programmers as I haven't used any programing language yet but as none programmer, I will use human logic so when I think of "Or" is one or the other independently.

    The way is working now is "Or" Filtering from top to bottom until one condition is true, that's why it causes much confusion some will expect (Not Picking filtering and some maybe yes). That logic will make more sense if the "Or" you could use it only with the same object type but because we can combine it with any object type it makes more sense to have no filtering in my opinion. Though is still a really useful feature for some cases to avoid picking again when you have many objects so is still very useful.

    Maybe you should have included both:

    "Or" Filtering Picking as it is now

    and

    "Or" Not filtering

    To cover both cases and let the users pick the one they like according to their circumstances. This will make everyone happy as they could enjoy using "Or" blocks in the way they most like.

  • You do not have permission to view this post

  • Not sure if I follow you, didn't he spawn the Dark Grey Tiles which have the solid behaviour? why not keep using the same logic and close the walls of the room for the edges?

    Even if you do a Tiled background the rooms on your picture still show that is open so it will be a bit confusing for the player if it shows that can pass but when you try is blocked like an invisible wall.

    You have multiple ways to do this but I still dont see where your issue is, if you have a Tiled BG solid the same size as one of those tiles and then you extend it either (Verticaly for left & right) or (Orizontal for Top & Bottom) then you check the last tile of each side then place you solid wall one tile after.

    For me, it sounds like the side walls have to be fully closed using the same dark great tiles that you spawn through the level.

    Unless Im missing something.

  • It is hard to follow your events as you have multiple "On Space Pressed".

    I would recommend you try to use just one trigger so you dont have to duplicate multiple times as this will make it so hard to follow what's going on and you could easily end up with bugs, also another benefit is that it will be more organised.

    Not sure if this is exactly what you wanted but at least it will help you as a starting base as it should be close to what you needed.

    Here is an example:

    https://www.dropbox.com/s/hjf2dqodlhqb8ul/Corridor.c3p?dl=0

    The enemy has the variables to adjust:

    -The starting Scale

    -Max moves can do before hitting the player

  • Perhaps the naming is misleading and they should be called something else like "ANY" blocks, so people don't approach it with the mindset of a logical OR.

    Yep the name is misleading, as for me whenever I wanted to use the "Or" condition is for as simple as:

    +A overlaps b

    or

    +Spacebar is down

    These are two totally independent conditions therefore each condition check should reset from zero the Picking. The conditions above of the current condition being checked can never affect the ones below. Each runs 100% independently as if you had them in separate events instead of all in one "Or" Block.

    As a result, I never use "Or" blocks for 6+ years unless in very specific cases which are clear (black or white). I have now gotten used to not using "Or" I dont need them but sometimes I miss the simplicity to make an "Or" block to tidy up the code.

    In my first years, I studied how it works and I had my notes etc... But if you stop using it for some time you keep forgetting and always have to look at your notes and make a quick examples test etc... it was too much of a hassle trying to remember how it works each time you need to use an "Or" Block so I stop using them at all and I was very happy to be honest as now I dont even have to think to make the equivalent of an "Or" block as it comes naturally.

    Though Would be nice if you could add a true "Or" block.

    Maybe we should create a suggestion feature and see how many users want the change?

    That will give you the motivation to revisit this "Or" block condition hopefully.

  • So what happens is that Construct checks the events from top to bottom and because you are using none trigger condition like "Key is Down" they will be checked in order from the First "A" to your last "R", the "Triggers conditions" the one that has normally the Green arrow get called only when they get triggered and if I remember correctly if multiple Triggers are triggered on the same tick they will be run Top to Bottom swell.

    So to ensure that you have always randomness when multiple players press the button on the same tick then you gonna have to handle it differently, for example first check if more than one player is pressing the button and mark them, then just loop through those players randomly to assign a Rank to play.

    Here is an example:

    You can do it in multiple ways like pushing them into an Array and then picking them at random etc... I used here just a boolean to make it simpler just in case you haven't used Arrays yet.

    Also, I used a Family to simplify the code.

    https://www.dropbox.com/s/9cn7486s3nnqa9l/quizz2.c3p?dl=0

  • Global Variable = "Total_Gems"

    Character on Collision with Gem:

    -------------- Action: Add 1 to "Total_Gems"

    -------------- Action: Set Text to: "Gems " & Total_Gems & "/36"

  • On Key Pressed: is a trigger which runs only once.

    So your "Every X seconds" will not work as intended under a trigger.

    You need to use "Key Is Down" if you want to use the "Every X seconds" in a subEvent.

    I like to use Timers swell as GeoffB recommends.

    Also, (Repeat X Times & Every X seconds) doesn't make much sense, perhaps you should use:

    Key Is down:
    --Your Top Conditions
    ---------Every X seconds: Your Actions
    

    The "Every X seconds" will only run if the top conditions are met.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • From your events, it looks like you dont pick objects before you pin them or set positions into the right platforms so all the masks will be referencing the first platform instance that you have in the layout.

    To link them together (Platform + Mask) you can use Hierarchy or containers.

    For example with Hierarchy:

    On start of Layout:
    
    ---------Destroy (Platform + Mask)
    
    
    ---------Action: create Plattform
    ---------Action: Create Mask at Platform XY
    ---------Action: Platform add Hiearachy Child = "Mask" (XY & Angle)
    
    

    So now they are linked and pinned together, you dont need to use the Pin behaviour.

    And if you ever need to pick (Parent or Child) you can use Hierarchy pick (Parent or Child).

  • Np Glad was helpful

    I'm fumbling on the text part though. I had to adjust the "create object" parameters of the the Table Grid to fit the viewport of the game. Perhaps I'm losing it, 'cause in your demo it works, but I don't see where/how the text is being binded to the table grid??

    I think the issue you have could be that you didn't create the container between the two objects (Text & Table_Grid).

    If you click on any of the two objects and look at the Left side editor panel, on the "Container" section you will see I link them together.

    This what it does is if you:

    -Create one object from the container the other objects inside the container creates automatically with it.

    -Destroy one object from the container the other objects inside the container get destroyed automatically with it.

    -Pick one object from the container the other objects inside the container get Picked automatically with it.

    You can read more about containers here:

    https://www.construct.net/en/make-games/manuals/construct-3/project-primitives/objects/containers

    The Grid was just for quick testing, didn't know you want to create the grid dynamically swell, here is how I will create the Grid dynamically.

    You can keep the old one though if you like it more, there is nothing wrong with it. Here I just added some extra Variables to adjust the grid easily and cut down the Actions.

    New Example:

    https://www.dropbox.com/s/cedpv6dl1wnz1pc/Array%20Sort%20Songs2.c3p?dl=0

  • I see,

    In that case, if you want to maintain the same structure without making any changes then you can use a second Array to do the sorting.

    On your Picture you store the first Artist on (Y = 1) instead of (Y =0) so according to that:

    Here is an example:

    https://www.dropbox.com/s/c6vmd3x43o0sq2p/Array%20Sort%20Songs.c3p?dl=0

  • I haven't seen anything that can exclude some layers from rotating with the Layout, but here is one idea.

    https://www.dropbox.com/s/hno6jalefgwcn29/Layer%20Lock%20Rotation.c3p?dl=0