Ashley's Forum Posts

    • Post link icon

    Stop posting multiple threads with the same question. It is against the forum rules. Closing.

  • This has been a long standing quirk (due to the complexity of updating data structures actively being used while running events), but Construct tries to paper over the gap in a few places. 'Pick by unique ID' can always pick newly created instances even if they haven't reached the end of the top-level event yet, and IIRC the count expression also takes in to account newly created instances, but most other features don't take them in to account until the next top-level event.

  • Without more details, I'd assume you're running in to a common problem like making cross-domain requests. See the AJAX manual entry for more details.

  • Moved to C2 forum.

  • JavaScript errors are always Construct's fault and should be reported.

    In the second example, after a 'Wait' the function has ended so the local variable no longer exists. So it has no value.

  • This is a known existing limitation in Construct. Newly created instances aren't actually fully created until the end of the top-level event. Inside the same event that creates them, they are picked, so you can use them in events, but not available on the main instance lists. This is currently by design due to the high complexity and bugs arising from modifying data structures that are actively in-use while running events.

  • What's the JS error? Usually that should never happen so should always be filed as a bug.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • According to StatCounter only 0.3% of devices still use Android 4.2, so yeah, they will be pretty hard to come by.

    Why not just stick to Android 5.0+ which is officially supported? According to the same stats it covers about 96.5% of all devices (and still slowly increasing).

    • Post link icon

    This thread is a few years old and is now out of date. You should use the System 'Sort Z order' action, which is significantly faster.

  • tarek2 - I'd suggest looking for a tutorial or course on how binary data/storage work. It's a general computing topic and will help you understand how Construct's Binary Data object works, because that just gives you access to a chunk of raw memory.

  • You can set a timeline's result mode to "relative", and use the Timeline plugin's "Set instance" action to play a timeline with a different instance.

  • It's not broken. It's just a message that appears, and work is already actively being done to make the message go away.

  • Well, I guess you can render using raw WebGL calls, but it's not ideal. Construct's renderer has its own batching and state tracking system, so if you make any changes at all to the WebGL state, you will need to save the old state, do any rendering with custom WebGL calls, then restore the old state again. This is necessary to ensure the WebGL state is consistent with what Construct's engine expects it to be (if you change state and leave it, you're pulling the rug out under the engine and will break stuff). Even then, changing loads of WebGL state is slow. So if you go down this route, your next performance bottleneck will be rendering lots of animations simultaneously, as it hammers saving and restoring loads of WebGL state repeatedly during a frame. Additionally if you make raw WebGL calls you bypass the rest of the renderer, which makes it impossible to use things like custom WebGL shader effects, essentially removing the ability to use that powerful (and very useful artistically) feature.

    The ideal solution would be to render everything in a plugin Draw() call using IWebGLRenderer. This fully integrates with Construct supporting all features like effects, and works with the existing renderer code and batching system, so you won't need to do things like save and restore masses of WebGL state every draw, and takes advantage of its sophisticated batching system to ensure maximum performance. The renderer is a fairly high-level API and can do many of the things the standard canvas2d can, so it should be feasible - but you might have to change a lot of code, since it works differently.

  • The previous link is to a Construct 2 tutorial. For the Construct 3 tutorial see Publishing to the web.

  • There's several problems - you need to assign srcObject, not src; I think you need to play the video too; you don't actually add the video to the document anywhere so it will never be visible. There's plenty of samples around on the Internet, try finding one of them and working from that.