Ashley's Forum Posts

  • You do not have permission to view this post

  • You do not have permission to view this post

  • You do not have permission to view this post

  • Construct is browser-based software, but you can install it as an app from some browsers like Chrome and Edge. See this manual entry for more details.

  • This is a common mistake confusing object types and instances. You usually need a call to getFirstInstance(). See the Learn JavaScript in Construct tutorial series which covers the basics like this.

  • It might be the problem described here.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You need to use a script with the purpose set to 'Imports for events' and import anything you want to be able to use in scripts in event sheets, otherwise it will be undefined. The links I provided previously cover this.

  • I would advise taking a look through the Learn JavaScript in Construct tutorial series which covers the basics like this, in particular in part 12 which covers modules and the 'Imports for events' script purpose. It's also covered in the manual entry on Scripts in event sheets.

  • Construct 2 is not available for free - it was taken off sale and has been retired since 2021. However Construct 3 is backwards compatible with Construct 2 so you should be able to import your C2 project and continue working there.

  • Moved to Construct 2 forum. As Construct 2 was retired in 2021, it may not be possible to export to iOS any more, as the publishing requirements tend to update every year and only C3 has been updated since then. Further, historically it has not been possible to side-load apps on to iOS devices for free due to Apple's restrictions - you have to have a developer account which costs $99/yr (last I checked anyway). There is a lot of regulatory activity around this at the moment though, so it may be changing, but perhaps only in certain territories like the EU.

  • Hold Alt when clicking the preview button and you can start multiple local previews. See Keyboard shortcuts

  • If a problem occurs only on certain graphics cards, usually that's a sign of a graphics driver problem rather than anything to do with Construct or your project. Graphics driver bugs are pretty common and unfortunately notoriously difficult to deal with.

    My advice would be to make sure 'Ignore GPU blacklist' is unchecked when exporting. If it is checked, then it may run in to known problems with certain GPUs/drivers, whereas leaving it checked means it reverts to software rendering in those cases, which is slower but at least should appear correctly.

    The current status of WebGPU support is in this thread which is kept up-to-date as the situation changes. I would like to see WebGPU enabled by default by the end of the year, but it may happen sooner or later than that depending on how the roll-out process goes.

    As this thread was originally for preliminary documentation which has now been moved to the manual, closing it.

  • That code will still work in TypeScript, but you will lose access to instance variables, behaviors and effects unique to the object classes, as those come from the type definitions on the class in the InstanceType namespace.

    It's still possible to have it work though - essentially this comes down to multiple inheritance (e.g. you want PlayerInstance to derive from both InstanceType.Player and Entity), and if you look up mixins you should find a couple of ways to approach that. Where possible I'd recommend composition over inheritence though - i.e. make an Entity a property of the class rather than a base class.

  • The change was made for TypeScript support. When using TypeScript, Construct generates TypeScript definitions for every object class including types for instance variables, behaviors and effects. As these are all different for every object class, it has to generate a separate base class for every type of object class, hence InstanceType.Player rather than a generic ISpriteInstance. However InstanceType.Player only has type definitions for TypeScript, and (assuming it's a Sprite object) itself derives from ISpriteInstance. So if you're using JavaScript there's basically no difference. The main reason to change it is to keep everything consistent, so if you change to TypeScript or back again you can continue to write code the same way. If it would be a pain to update all your code though, you can just leave it and it should keep working the same.