oosyrag's Forum Posts

  • Link to your suggestion for votes - https://construct3.ideas.aha.io/ideas/C3-I-35

  • The simplest way involves using a small invisible sprite at the base of the tree with collisions enabled. The tree is just a visual placeholder. You can use the system sort Z order by the player and tree's y values.

  • There are many keyboards available to download for android, this would most likely best be served by the user picking and using their own preferred keyboard. If Scirra decides to program one in, what will work for one user may not be liked by another.

    The back button problem renders mobile editing absolutely unusable, at least for me. There is no way I'm getting anywhere without eventually accidentally hitting the back button and instantly losing all unsaved progress.

  • https://www.scirra.com/manual/133/common-expressions

    You're looking for the bounding box expressions?

  • Set a TargetAngle variable instead of the actual angle.

    Then have the bullet rotate towards TargetAngle.

  • Check this out.

    https://www.scirra.com/tutorials/902/li ... raycasting

    You can run a raycasting function on collision. Depending on the shape of the objects colliding, hopefully you can get a good effect.

  • In case you haven't read it already, there are some tips here https://www.scirra.com/blog/112/remembe ... our-memory

    On the other hand, even mobile devices today have upwards of 1g+ memory for you to utilize (although generally you don't want to get anywhere near the limits).

    The biggest tool we have to manage memory is via layouts - images are loaded into memory only for layouts they are used in.

  • Outside of what is stated in the manual, can't help without seeing an example of what you've done. It works fine for me.

    [quote:18g19nlv]Penumbra rendering only works in WebGL mode - in canvas2d mode it will revert to a radius of 0 with hard-edged shadows.

    The shadow casters can only use convex collision polygons. Shadows will not render correctly if they use concave polygons. If you need a concave shape, this can always be achieved by placing multiple shadow caster objects next to each other to compose a concave shape out of convex parts.

    Antumbras (beyond where the umbra converges to a point) are not rendered. To avoid the umbra converging to a point on-screen, avoid using shadow casters smaller than the light radius. Stick to large shadow casters and a small light radius.

    When using a light radius, avoid placing the light very close to or directly over a shadow caster. Shadows can fail to render correctly in these circumstances.

    Maybe you need a bigger light radius?

  • Include a link to your suggestion! I don't think people check that regularly at the moment, so its always good to provide the link to specific suggestions in relevant threads.

  • You actually can use | as an "or" operator in an expression, which returns 0 for false and 1 for true. This can be combined with system compare two values to set your condition. ref: https://www.scirra.com/manual/78/expressions

    It will reduce the number of events, but also decrease readability.

  • A while loop is used to repeat an action an indefinite amount of times within a single frame until an additional condition is not meet.

    You have to be careful to have a condition that will eventually (not) be met by your actions in the loop or include a stop loop action in your event, otherwise your game will freeze (the loop never finishes).

    As blackhornet mentioned, the cases you need to do such a thing should be pretty rare.

    For a specific simple example, if I were trying to remove all instances of a particular pattern of values out of an array, but I don't know how many times that pattern occurs ahead of time:

    While

    (Pattern exists in array)

    -> Delete index of pattern in array

    (Simplified for convenience)

    This event would keep running until all instances of that pattern were deleted.

    Almost always the "Repeat x times" and "For x to y" conditions should be sufficient to handle any looping logic necessary. They are also easier to use in terms of not getting stuck in infinite loops.

  • You'll need a counter variable, and a state variable (Boolean instance variable would be good).

    On collision with object and statevariable is false, set statevariable to true, and set countervariable to 0.

    The next event should have the conditions system else, on collision with object, and statevariable is true, then set statevariable to false.

    In the last event event, if state variable is true, set counterrvariable to countervariable+dt.

    The time elapsed between your collisions will be available as countervariable.

    But will construct 3 have a build in app creator or will we still have to use third party tools such as intel XDK?

    https://www.scirra.com/blog/187/buildin ... onstruct-3

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • To set up non-repeating random values, use two arrays. The first array stores your values, the second records the values you randomly pick from the first. After picking them, they get deleted out of the first array so you can't pick them again. Comments in capx.

    https://www.dropbox.com/s/dcfbp93y4kmxo ... .capx?dl=0

    You can store positions in the array rather than animation frame numbers if you want, if you're using 12 separate objects rather than 12 instances of one object.

    Otherwise, plugin-smart-random_t163624 could help you.

    I think it's a very good option for everyone. But I think the thread is about people refusing any type of "renting model". Because of "reasons"....

    Economic reasons are valid reasons, no need to be so negative about it.

    If you compare to the old model of releasing a new version of software every year or so (think Quickbooks, Photoshop, Windows), a subscription model basically takes away the choice of upgrading or not out of the user's hands - even when the older software is sufficient for their needs. Rather than upgrading based on the merit of new features, you automatically get and pay for the new versions as they come.

    It is understandable that people would prefer to have the ability to decide based on their own circumstances.