home.social

#openfl — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #openfl, aggregated by home.social.

  1. OpenFL devlog: scale9Grid

    How I recently implemented the scale9Grid property in OpenFL. This feature is sometimes called 9-slice scaling, but Flash doesn't just take a display object as a bitmap and slice it up into 9 pieces. It actually adjusts the placement of points on the vector shapes, which also leads to better looking gradient and bitmap fills. Read on…

    joshblog.net/2025/openfl-devlo

    #Haxe #OpenFL #AdobeFlash #scale9Grid

  2. OpenFL devlog: scale9Grid

    How I recently implemented the scale9Grid property in OpenFL. This feature is sometimes called 9-slice scaling, but Flash doesn't just take a display object as a bitmap and slice it up into 9 pieces. It actually adjusts the placement of points on the vector shapes, which also leads to better looking gradient and bitmap fills. Read on…

    joshblog.net/2025/openfl-devlo

    #Haxe #OpenFL #AdobeFlash #scale9Grid

  3. OpenFL devlog: scale9Grid

    How I recently implemented the scale9Grid property in OpenFL. This feature is sometimes called 9-slice scaling, but Flash doesn't just take a display object as a bitmap and slice it up into 9 pieces. It actually adjusts the placement of points on the vector shapes, which also leads to better looking gradient and bitmap fills. Read on…

    joshblog.net/2025/openfl-devlo

    #Haxe #OpenFL #AdobeFlash #scale9Grid

  4. Easter egg, experimenting with drawing ellipses with quads with pixels, sometimes the errors are more interesting than what you were trying to make! #openfl #haxe

  5. And here's a screenshot of the Moonshine.dev visual form designer for , , and .

  6. In collaboration with the Moonshine.dev team, a new visual form designer is now available for Feathers UI. Drag-and-drop GUI controls into containers (including nesting), edit common properties in the GUI, apply layouts (with percent sizing), and adjust font and background styles.

    It generates MXHX markup, a new XML dialect for GUIs in Haxe, inspired by Adobe Flex's MXML, but targeted at Haxe instead of AS3.

    feathersui.com/blog/2024/11/21

  7. In collaboration with the Moonshine.dev team, a new visual form designer is now available for Feathers UI. Drag-and-drop GUI controls into containers (including nesting), edit common properties in the GUI, apply layouts (with percent sizing), and adjust font and background styles.

    It generates MXHX markup, a new XML dialect for GUIs in Haxe, inspired by Adobe Flex's MXML, but targeted at Haxe instead of AS3.

    feathersui.com/blog/2024/11/21

    #Haxe #OpenFL #FeathersUI #MXHX #AS3 #AdobeFlex #ActionScript

  8. In collaboration with the Moonshine.dev team, a new visual form designer is now available for Feathers UI. Drag-and-drop GUI controls into containers (including nesting), edit common properties in the GUI, apply layouts (with percent sizing), and adjust font and background styles.

    It generates MXHX markup, a new XML dialect for GUIs in Haxe, inspired by Adobe Flex's MXML, but targeted at Haxe instead of AS3.

    feathersui.com/blog/2024/11/21

    #Haxe #OpenFL #FeathersUI #MXHX #AS3 #AdobeFlex #ActionScript

  9. And here's a few new pages of the #OpenFL Developer's Guide about different asset types. These are original content for the guide, as #AdobeFlash didn't have a built-in asset loading system like OpenFL does.

    Working with bitmap assets
    books.openfl.org/openfl-develo

    Working with byte array assets
    books.openfl.org/openfl-develo

    Working with font assets
    books.openfl.org/openfl-develo

    End 🧵 (2/2)

  10. Added several more sections to the #OpenFL Developer's Guide today.

    Accelerometer input
    books.openfl.org/openfl-develo

    Copy and paste
    books.openfl.org/openfl-develo

    Web service requests
    books.openfl.org/openfl-develo

    These three were converted to #Haxe from the classic #ActionScript Developer's Guide for #AdobeFlash (which was Creative Commons licensed by Adobe).

    1/🧵

  11. Added several more sections to the #OpenFL Developer's Guide today.

    Accelerometer input
    books.openfl.org/openfl-develo

    Copy and paste
    books.openfl.org/openfl-develo

    Web service requests
    books.openfl.org/openfl-develo

    These three were converted to #Haxe from the classic #ActionScript Developer's Guide for #AdobeFlash (which was Creative Commons licensed by Adobe).

    1/🧵

  12. Added several more sections to the #OpenFL Developer's Guide today.

    Accelerometer input
    books.openfl.org/openfl-develo

    Copy and paste
    books.openfl.org/openfl-develo

    Web service requests
    books.openfl.org/openfl-develo

    These three were converted to #Haxe from the classic #ActionScript Developer's Guide for #AdobeFlash (which was Creative Commons licensed by Adobe).

    1/🧵

  13. Added several more sections to the #OpenFL Developer's Guide today.

    Accelerometer input
    books.openfl.org/openfl-develo

    Copy and paste
    books.openfl.org/openfl-develo

    Web service requests
    books.openfl.org/openfl-develo

    These three were converted to #Haxe from the classic #ActionScript Developer's Guide for #AdobeFlash (which was Creative Commons licensed by Adobe).

    1/🧵

  14. Added several more sections to the #OpenFL Developer's Guide today.

    Accelerometer input
    books.openfl.org/openfl-develo

    Copy and paste
    books.openfl.org/openfl-develo

    Web service requests
    books.openfl.org/openfl-develo

    These three were converted to #Haxe from the classic #ActionScript Developer's Guide for #AdobeFlash (which was Creative Commons licensed by Adobe).

    1/🧵

  15. Check out the new Feathers UI v1.3, with new Drag-and-Drop capabilities, the Collapsible component, a new optional dispose() method on all components, and ton of bug fixes.

    feathersui.com/blog/2024/08/01

  16. TilBuci is a software editing suite that allows you to create interactive content like narrative games and digital books. Built by Lucas Junqueira with , , and . It's free and !

    Video:

    youtube.com/watch?v=P1MxAHrJMMM

    GitHub repo:
    github.com/TilBuci/TilBuci

  17. Fun fact: #OpenFL (the wonderful #Haxe library) can actually render your game directly into DOM elements instead of using a canvas.

    All you need is this one line in your project.xml (or also a command line flag):

    <define name="dom" if="html5" />

  18. I finally wrote a proper status update, my first in seven months. player03.com/development/statu

    In it, I discuss math for platformer games, #EntityComponentSystem design, and the instinct to seek perfection rather than releasing anything.

    #Haxe #OpenFL #GameDev

  19. Last summer, I manually scraped the entire #AS3 dev guide for #AdobeFlash, and I converted it to Markdown with some basic scripts and a little manual tweaking. I posted the result on GitHub: github.com/joshtynjala/actions

    I’ve been trying to archive old Flash learning content lately. Maybe there will be a wave of nostalgia for that era of web games someday. Maybe some of it can be useful in unexpected ways to projects like #Ruffle and #OpenFL. It’s a part of web history and doesn’t deserve to be lost.

  20. One of the things I’ve wanted to do since becoming an #OpenFL contributor (but hadn’t found the time) is add more documentation. Especially targeting new users unfamiliar with #AdobeFlash and maybe even newish to programming and not sure how to translate old #AS3 code to #Haxe.

    This week, I tagged along on my wife’s work trip to Japan, and I decided docs would be a good thing to work on during my breaks from going out into Tokyo and doing touristy stuff. 🧵 1/x

  21. I noticed that #Ruffle, the open source Flash Player written in Rust that can run in browsers, started a blog with progress updates. Here's the first post:

    ruffle.rs/blog/2023/03/12/prog

    In particular, the author mentions that support for #AS3 SWF files is getting better and better. Just for fun, I wondered if any SWFs built with #Haxe and #OpenFL work in Ruffle (using `openfl build flash` to build a SWF).

    I attached a GIF showing the following code running on Ruffle:

    github.com/joshtynjala/foundat

  22. Just for fun: I prototyped a small reactive programming library for #FeathersUI, #OpenFL, and #Haxe. Not sure I'll do anything with it, but it was a fun exercise.

    I wish the props didn't use reflection and were strictly checked at compile-time. However, I really like the state system — especially the transform() method that can convert a state value into a different type with a callback. Perfect for converting values into strings.

  23. Another preview at the XML component format that I'm developing for #FeathersUI and #OpenFL. This screenshot shows a snippet that customizes the appearance of a RectangleSkin with a fill and border.

    Yes, it's very verbose, and no, this absolutely won't be the recommended way to skin a component.

    I'm just proud of how the XML format can even represent #Haxe enums with arguments. In this case, that includes FillStyle.Gradient, LineStyle.SolidColor, and GradientBoxTransform.RotateDegrees.

  24. I've been working on a way to build custom components for #FeathersUI and #OpenFL using XML. I'm aiming for something very similar to #MXML in #ApacheFlex.

    Last week, I finally compiled my first real sample component (after spending tons of time writing necessary low-level tests).

    The XML code in the screenshot recreates one of the #FeathersUI samples that was originally written in #Haxe. The XML is parsed at compile-time with a Haxe build macro, which generates a class.

  25. Bring your designer's vision to life with the flexible skinning APIs in Feathers UI.
    feathersui.com/learn/haxe-open

  26. The other day, I implemented custom margins before and after specific items in HorizontalLayout and VerticalLayout (in #feathersui). They get appended to the layout's gap (and can even be negative to make the gap smaller for a specific item).
    #haxe #openfl

  27. Decided to try OpenFL... Enjoying it so far!

    Building for Android is unnecessarily painful, but after A LOT of debugging I eventually figured it out.

    #openfl #lime #haxe #hxcpp

  28. My first OpenFL devlog of 2024: HashLink/C compilation for Windows, macOS, and Linux

    HashLink is a runtime for the Haxe programming language. It can use bytecode and JIT, or it can cross-compile to pure C. In the past, OpenFL supported JIT only, but now HL/C is working too — with automated C compilation using gcc, clang, MinGW, and Visual Studio all working.

    joshblog.net/2024/openfl-devlo

    #OpenFL #Haxe #HashLink #CrossPlatform #devlog

  29. More new #OpenFL docs.

    HTTP communications: books.openfl.org/openfl-develo

    Mouse, keyboard, and touch input events:
    books.openfl.org/openfl-develo
    books.openfl.org/openfl-develo
    books.openfl.org/openfl-develo

    All code examples converted to #Haxe (and verified to compile and run… found some bug fixes in the process).

    I will also add links to these documents into the OpenFL API Reference, to make them easier to find. And to present multiple formats of documentation in context, for folks who learn in different ways. 5/x

  30. Did you know that the official #AdobeFlash docs were Creative Commons licensed? Very convenient for the #OpenFL project.

    An earlier contributor started adapting the “ActionScript 3.0 Developer’s Guide” a while back. Several chapters about events and the display list were already converted using Gitbook. However, efforts stalled, and things like mouse/keyboard/touch, text rendering, and sound playback were never introduced. Those are essential core things that folks will want to learn about! 2/x

  31. I've been working on a way to build custom components for #FeathersUI and #OpenFL using XML. I'm aiming for something very similar to #MXML in #ApacheFlex.

    Last week, I finally compiled my first real sample component (after spending tons of time writing necessary low-level tests).

    The XML code in the screenshot recreates one of the #FeathersUI samples that was originally written in #Haxe. The XML is parsed at compile-time with a Haxe build macro, which generates a class.

  32. I've been working on a way to build custom components for #FeathersUI and #OpenFL using XML. I'm aiming for something very similar to #MXML in #ApacheFlex.

    Last week, I finally compiled my first real sample component (after spending tons of time writing necessary low-level tests).

    The XML code in the screenshot recreates one of the #FeathersUI samples that was originally written in #Haxe. The XML is parsed at compile-time with a Haxe build macro, which generates a class.

  33. I've been working on a way to build custom components for #FeathersUI and #OpenFL using XML. I'm aiming for something very similar to #MXML in #ApacheFlex.

    Last week, I finally compiled my first real sample component (after spending tons of time writing necessary low-level tests).

    The XML code in the screenshot recreates one of the #FeathersUI samples that was originally written in #Haxe. The XML is parsed at compile-time with a Haxe build macro, which generates a class.

  34. Made some good progress implementing HL/C support for OpenFL this week. Got executables compiling with GCC on macOS, Linux, and Windows. Clang on macOS and Linux too. Visual Studio support will need to wait because it seems to require a Haxe compiler tweak for the C code generation. TextField.restrict seems to cause issues, and I didn’t find a workaround.

    #HashLink #Haxe #OpenFL

  35. I spent some time this morning figuring out how to manually compile an #OpenFL project to target HashLink/C instead of HashLink/JIT.

    #HashLink is a runtime related to the #Haxe programming language. It supports two modes:

    1) HL/JIT loads bytecode at runtime. It performs slower than HL/C, but compiles super fast for quick development iteration.

    2) HL/C is compiled as a native C executable. It's meant for distributing your final app.

    1/X

  36. I made a simple water reflection effect to add a little more decoration to my village.

    #gamedev #indiedev #solodev #madeinstencyl #openfl