Ashley's Forum Posts

  • I'm not convinced it was a good idea to include in C3, really, since it doesn't really fix the problem and means you get inconsistent results across devices... but if you really want to... it just compares window.innerWidth/window.innerHeight to the size it really wanted, and calls window.resizeBy() with the difference to compensate. But resizeBy() doesn't correctly take in to account devicePixelRatio, so sometimes you still end up with the wrong size.

  • There already is a built-in way to unload an image, which I just described. I don't see why you can't just use that. If you want to revert to some default image, just destroy the sprite, unload it, then put some stock image in its place with a different sprite object. If it's already easily doable, why does there need to be any new feature to cover it? As a small team with limited resources, thousands of bug reports and hundreds of other feature requests, suggestions would have to need a really good reason to motivate them, and I don't see why the existing feature doesn't cover what you want here. Don't jump straight to a feature request before properly considering the alternatives... or if the engine actually fully supports that already!

  • Why? Does this affect a separate web page that you maintain yourself or something? The hack is ugly and doesn't actually completely solve the problem anyway, so it's not something I'd recommend anyone using - just live with the quirk if you can.

  • Please note that simply copying and pasting a crash report is rarely sufficient for us to be able to fix the problem. See the bug report guidelines for information on how to report problems so we can actually help with them.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I still don't know how to unload the image, I didn't found any unload option while exploring it,

    Can anyone please show me how to do that via screenshot so I can follow ?

    Normally unloading a single object has negligible impact on memory use. Do you have measurements showing this is necessary? If not, it's probably a waste of time worrying about minor cases like this.

    If you find that the memory difference really does matter, the built-in way to unload images is to destroy all instances of the object, then use the Unload object images system action.

  • Loading an image in to a Sprite unloads and replaces the existing image. There's nothing you need to do to manage memory if you keep loading in different images, the old ones are already being released.

  • If it works in C2, it's accidental and unintentional. File paths are not the same thing as URLs, but depending on the specific circumstances, sometimes a file path is accepted where a URL is expected and vice versa, but this isn't the kind of thing that should be relied on.

  • Sprite's 'Load image' action takes a URL, not a file path. They're not the same thing. You probably should use the NW.js object to read the file in to a Binary Data object, then load the Binary Data object's URL instead.

  • It looks like the graphics drivers are just too unreliable to support WebGL then. It's not uncommon on Linux, since the drivers are often less well supported than other systems (unfortunately). If you're using open-source drivers, switching to proprietary ones may help, since they are often better quality (understandably, since they are developed by the hardware vendor rather than volunteers trying to reverse-engineer complex hardware!)

  • If images aren't importing correctly please file a bug following all the guidelines.

  • That shows that WebGL appears to be working fine:

    WebGL: Hardware accelerated

    WebGL2: Hardware accelerated

  • Look at the release notes, they cover the recommended options:

    1. Use C3's mobile app build service to build C2 exports.
    2. Use an actively supported third-party build service like PhoneGap Build.
    3. Use the Cordova CLI. This is a free manual build tool that works offline. (This option is more appropriate for advanced users.)
    • Post link icon

    I think your attitude is unnecessarily combative, so I'm closing this thread as per the Forum & Community guidelines.

    I apologise if you took my post the wrong way: my intention is to try to guide you to lessen your frustration - as in the right approach is "don't get angry, get curious" - and secondly help you find a solution quicker. The fact you appear confused about the order things could be happening in, indicated to me that you had not done something that would clearly indicate the order things are happening in. Console logging is a typical way of indicating that, and the samples you had posted did not include that already, which is why I suggested it.

    Further your attitude does come across as generally accusing Construct or its design. There's nothing wrong with that in itself, as Construct is not perfect, there are many cases where backwards compatibility influenced a more unusual design, and so on. However it seems to be the only thing you are focusing on. There are many cases just in this thread you seem to be taking the view "nothing else works like this/it's illogical/this is crazy/do I have to do some pointless workaround". None of that really helps you understand what it is doing, why it's designed to do that, and how to make events that work with Construct, not against it. Everything in Construct generally is designed for some good reason and in many cases actually is analogous to how other programming languages work.

    I empathise that working with difficult technical problems can be frustrating and sometimes it can get to you. However if there was a genuine misunderstanding over my post, firing back with the kind of language you used is certainly a step too far. I post in this forum with a good faith intent to try to help people, and I may sometimes misjudge the kind of advice people need, but I think you should take some time out to cool down, and come back with a more constructive attitude when posting on the forum in future.

  • Which method should I use to secure it?

    This opens up a whole area of digital security. I'd recommend looking for a course covering the basics, because if you don't know what you're doing, you'll probably make something so insecure a passer-by can at least delete everything, or possibly steal all the data - and if you are storing people's personal data, you can become liable for significant fines if that gets leaked and you were negligent in your security measures.

    At a minimum look in to using HTTPS and protecting against injection attacks, but there's a lot more to it than that!

  • I'm confused: in your first post you said it's not working, and in the second post you appear to say it is working. I don't know what to say now.

    I also have to point out: I hope you never run that code on the Internet - it's so insecure it would be trivial for a passer-by to delete or steal the entire database.