Ashley's Forum Posts

  • This is a complex feature that isn't even finished yet. I'm afraid it's too soon to start taking suggestions to take it further. Additionally as usual once it's out any suggestions should be posted to the suggestions platform, since as usual we get far more suggestions than it is remotely practical to implement, so the voting system is a way of helping prioritise everything.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I think a change in Chrome 73 stopped our override for ctrl+wheel from blocking the browser-level zoom. I found a workaround so it should be fixed in the next release.

  • No new features will be added to Construct 2. If you want new features you should upgrade to Construct 3 and post suggestions for that.

  • The $ is jQuery. The equivalent code without using jQuery is:

    document.querySelector("html").style.backgroundColor = "#fff"

    document.querySelector("body").style.backgroundColor = "#fff"

  • I would love to be able to put a sprite as a parameter or other objects as parameters.

    The standard approach at the moment is to pass an object's UID, and pick it in the function again.

  • (bump to work around forum bug preventing previous post appearing)

  • It should be straightforward once you get used to using AJAX to load a URL in to a Binary Data object. Here's an example that takes a canvas snapshot and posts it to a URL: post-snapshot.c3p

    It posts to example.com - just replace that with your own URL.

    As the comment in the events explains, you can also use the BinaryData.GetBase64 expression to convert the canvas snapshot to a base64 string. However in this case that will only serve to make it slower and less efficient.

  • You're confusing the two steps:

    1) load the canvas snapshot in to Binary Data

    2) post the data to the server

    These are two separate AJAX requests. The first should request the CanvasSnapshot URL. The second should post the Binary Data.

  • I'm not sure what the difference between the two options is in your question... it's saved to the same place as Local Storage saves.

  • Yes, please make sure you follow all the guidelines to ensure we can investigate.

  • Have you tried with the latest C3 release? We fixed an important iOS bug that affected loading textures.

  • Please do not bump threads so quickly - it looks obnoxious, and most people take at least 24 hours to revisit the forum.

    The link you provided looks like the "working images" case to me. Try clearing your browser cache, maybe it's loading parts of the old project.

  • I don’t have measurment other than my game passing from not crashing to crashing. :)

    C2 and C3 provide measurements specifically for this. I was suggesting that you look at them.

    I didn’t mention it earlier, but another big problem I have using C3 instead of C2 is the huge performance drop... My theory about this is the following: Healer’s Quest sometimes needs to load very small images that are not present on the layout in the editor (they are too situational and there are too many of them to load them all on all layouts).

    This forces a synchronous texture load and can easily cause jank in the C2 runtime. The C3 runtime actually loads textures asynchronously which should solve this problem (at the expense of possibly a couple of frames where the texture is invisible because it hasn't loaded yet - but avoiding the jank). As has always been the case, for best performance you must have every object that can be created in the layout initially placed in that layout, and destroyed on start of layout if need be; this means Construct will pre-load everything the layout uses and completely avoid any on-the-spot texture loads, which can hit performance no matter the size of image being loaded.

    Then in C3 this becomes even more important, because it analyses the objects initially placed on layouts to identify the objects that are most commonly used together, and then groups them on the same spritesheet. This can lower memory usage by making sure the images on a spritesheet are always used at the same time, helping eliminate the case where you load a big spritesheet with lots of images that aren't used.

    So this is a known case and has known workarounds. The jank from on-the-spot texture loads should be pretty much fixed in the C3 runtime thanks to its asynchronous loads, but even in the C2 runtime, if you do all of this it will make the performance even better than it was to begin with, since it won't even need to to on-the-spot texture loads even for small images.

  • It would be a lot easier to either wait, then run the entire loop; or create all the objects but hidden (e.g. make them invisible), then wait after the loop, then show them. Basically wait before or after the entire loop, but not during it.

  • It's impossible to help with such little information. Please see the bug report guidelines - we need all that information to be able to help.