Beta versions are not as thoroughly tested as stable

Beta versions are not as thoroughly tested as stable

Beta branch

Construct 3 r348

Text/SpriteFont range tagging; new examples; new script APIs; performance improvements & more

04 July, 2023 ()

Email Me New Releases

Don't miss out on the latest and greatest new features in Construct 3

Create an Account

Notes

This week's beta release has a lot of improvements! First of all there's a new feature to tag ranges in Text and Spritefont objects. In short this means you can use BBcode like "Hello [tag=foo]world[/tag]". This applies the tag "foo" to just the word "world". Then you can do things like detect if the mouse is over that tag (e.g. for a hover highlight), or get the size and position of that tag (e.g. to position another object by it), and more.

This release also includes 5 new examples - 'Box Breaker', 'Collect the pages', 'Snowboard 3D', 'Time travel 3D' and 'Toolbox wheel'. As ever find them in the New section of the Example Browser!

There's also new script APIs that allow loading custom image content in to Sprites, Tiled Backgrounds and Tilemaps, as well as new script APIs for the range tagging feature of Text and SpriteFont; performance improvements for timeline editing and Text objects; a new 'Random' UID numbering mode to work better with source control; and as ever a big batch of bug fixes. Happy testing!

Like this Release?

Let us know with a thumbs up!

41
Launch r348

New Additions

26 favourites
Text/SpriteFont: 'Has tag at position' condition, 'TagAtPosition' expression
14 favourites
Add 5 new example projects
14 favourites
Text/SpriteFont: expressions to get size and position of tags by index and tag count
13 favourites
Project properties: 'UID numbering' property, allowing a new 'Random' UID numbering mode

Changes

3 favourites
Rename 'Beholder fortress' example project to 'Ancient Watcher fortress'
3 favourites
MobileIAP: deprecate 'Transaction' expression as not currently supported since update

Bug Fixes

5 favourites
Properties Bar: did not refresh container properties after deleting object folder
6 favourites
Platform: 'On landed' incorrectly triggered when hitting ceiling (regression r346)
4 favourites
Properties Bar: could incorrectly show properties after closing project
4 favourites
MobileIAP: did not always trigger 'On purchase failed' correctly
4 favourites
Layout view: possible crash after adding instance to overridden layer
5 favourites
Possible crash closing projects
3 favourites
Eases: deleting a parent folder not properly deleting a custom ease
3 favourites
Timelines: crash duplicating a timeline with nested content
3 favourites
Timeline bar: crash adding property tracks refering to plugin properties (regression r347)
3 favourites
Timeline bar: sometimes clicking on keyframes was not showing corresponding properties in the Properties bar
3 favourites
Timeline bar: crash closing a project while an audio track is still being decoded
5 favourites
Z Order Bar: possible crash moving instances between layers

Performance Improvements

8 favourites
Layout view: improve performance when timeline editing mode is turned on
15 favourites
Text objects: further improve performance when scaled very small

Scripting updates

7 favourites
Sprite: add replaceCurrentAnimationFrame(blob)
7 favourites
Tiled Background & Tilemap: add replaceImage(blob)
7 favourites
Text/SpriteFont: added hasTagAtPosition(tag, x, y), getTagAtPosition(x, y)
7 favourites
Text/SpriteFont: added getTagPositionAndSize(tag, index), getTagCount(tag)

Share Construct 3 Release r348 Now

  • 12 Comments

  • Order by
Want to leave a comment? Login or Register an account!
  • Checking condition every tick but dont do action affects performance or not? Tks

  • Has tag, wow! I've been faking this with a hidden sprite for so long now!

  • amazing update!

    Text tags position and performance improvements plus source control fix is perfect!

  • Thank you very much for the update!! The Text Tag feature is very useful!! And Viridino Studios always maintains high-quality templates! Thank!

  • btw is there a reason random UID isn't the default now? I don't see any downsides, so to me it makes sense as default to avoid some merge conflicts even if people forgot to set it.

      • [-] [+]
      • 6
      • Ashley's avatar
      • Ashley
      • Construct Team Founder
      • 6 points
      • (0 children)

      For small projects it means typing in much larger numbers which I thought makes it a bit more cumbersome. I'm also reluctant to change any really long-standing features by default as it messes with people's expectations - there's years and years of tutorials, lesson plans, videos etc. which might talk about UIDs working differently, or somehow be broken if they expect incremental UIDs, so I try to be cautious about changing core things like this by default.

  • Text tag, a dream that came true. Thank you!

  • BETA BONUS!

    The next game I am going to make is a remake of Devastators (arcade game), and the Box Breaker demo on this new beta is basically the start of it! Thank you guys!

  • Improvement for the amazing text tag system:

    new condition `has any tag at position` (or a symbol like -1 we can use for any tag)

    and a expression like `text.currentTag` that returns the tag in that event.

    This would allow us to create one event that handles multiple tags, for tooltips etc. Currently we would need to create a new event per tag (or loop over a list).