Ashley's Forum Posts

  • Make sure the server is configured to use the same cache settings for all file types - if your server is doing something like caching HTML files for 7 days but JS files for 1 day, then after an update you could end up with browsers loading a mix of files from different versions, which will then break.

    Your Cache-Control header looks strangely formatted - it should be enough to set Cache-control: no-store, but that won't fix existing browsers with a bad cache.

    You may actually find it works better with offline support enabled - Construct then manages updates by ensuring the new version is fully downloaded bypassing the cache, and then swaps over to that on the next reload. Another strategy is to use different URLs for every update to make sure it never mixes up versions (e.g. mygame/v1/index.html, mygame/v2/index.html...), which you can then enable immutable caching for as versions never change.

  • In the latest beta release r419 if I export 'Spell caster' with Windows WebView2, extract all the files to a folder, and run WindowsIconUpdater.exe, it works fine for me and reports it successfully updated icons.

  • This was not directly accessible from script, but it was easy to add, so there is now an IRuntime loadingProgress property in r419.

  • The code you showed is definitely wrong, so if something doesn't work, the first thing you should do is fix that code. I can't help any further if your code is obviously wrong, as my only assumption will be that wrong code is going to break things.

    The 'Play in background' setting in Construct's Audio object only affects audio played with the Audio object, and it only means "do not deliberately stop all audio playback when the page goes in to the background". So the default is to continue playing audio in the background, providing the browser allows it.

  • Currently the debugger inspector is designed to use flat tables. That works for most properties, and flat data structures like 1D arrays, but it doesn't work well for 2D or 3D arrays, or complex nested data structures like JSON. So it's not a case of "just add that", it means implemeting an entirely new kind of user interface within the debugger inspector, and adding new UI usually means the feature request is complicated and time-consuming, which generally means it has to be really important to be worth prioritising over hundreds of other suggestions.

  • B) Make it so new instances pulled from the project bar automatically become replicas of the "default" template if it exists.

    This design makes it a bit of a hidden feature, and hard-codes an English string which isn't great for non-English users. What about a property to choose the default template name used for new instances? This seems like a good solution as templates are the feature intended to be used for determining initial properties.

  • runtime.globalVars.Player = audio;

    This code is wrong - Construct's global variables can only be strings, numbers or booleans. You can't assign a complex JavaScript object like Audio to a Construct event sheet global variable (how would that work in the event sheet?). You will need to assign it somewhere else.

    Does anyone know if by adding the audio object, this will allow the entire app to stay alive in the background and all the scripted audio to continue to play?

    Adding the Audio object doesn't change the way browser permissions for audio playback work. If it's not working, it is most likely due to the mistake above.

  • This was changed earlier this year in r382. The engine has always stopped rendering frames when nothing is happening, but now the measurements better reflect what is really happening: FPS corresponds to actually rendered frames, and the newer Ticks Per Second (TPS) corresponds to the engine ticks, which continue even when nothing is rendered.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads

    I'm afraid as such matters involve personal details we cannot help on the forum - if you've already contacted the support email address then we will resolve the issue there.

  • Spiceuser - your post reads like it was AI generated (sounds plausible but is actually mostly unhelpful or wrong). Please don't use AI to generate posts - see the Forum & Community guidelines.

  • I can just about read a "texture exceeds maximum texture size" message in the error. It probably means your project uses an image larger than 4096x4096, which is the largest size you can rely on that works everywhere. Ideally Construct shouldn't crash in that case though...

  • I don't think this means you always need to use a Sprite Font - IIRC the issue only affected certain vertical alignments. If you use "top" alignment it should be consistent across browsers.

  • You need to put the worker script in the 'Files' folder of the Project Bar. Otherwise Construct treats it like your other scripts, which either get minified or go in a subfolder on export. To make sure a script doesn't go through that process on export, you need to have it in the folder for general files, so it's just copied as-is.

  • It's not clear to me whether you mean you want to list files in your project, or with a picker - you can use a file picker to pick a file directly, or you can use a folder picker to select a folder and then use the 'List contents' action to list all the files in that folder.

    It's also not clear to me what you mean by opening the image - perhaps you mean opening in the default associated app, in which case you would use the 'Shell open' action, or show the image in your project, in which case you'd need to read binary data from the chosen file.

    Note that if you want to do something like access a folder within the user's Documents folder, you need to use the special picker tag "<documents>", and that only works in desktop exports (Windows/macOS/Linux), and the same goes for the 'Shell open' action.

  • Danwood - you also posted that question here, please don't cross-post your question in other threads (see the Forum & Community guidelines).

    Back on the topic of using File System, this week's beta r418 includes some improvements to try to make it easier to use: it now has expressions to get the folder path and picker tag in triggers, which should help identify which file the trigger is for. You can now also use 'List contents' recursively to list files and folders including all subfolders, which should mean you can just list contents for the root directory of your game's data and then be able to easily access the full existing folder structure. Hopefully that all makes it easier to use for more complex cases. As I mentioned we can't go back to synchronous, but if there are any other changes we could make like this to help, then let me know.