openfl / dragonbones

Runtime support for DragonBones skeletal animation
http://www.dragonbones.com
Other
41 stars 14 forks source link

Flixel code does not work with sample projects other than Dragon #21

Open npinsker opened 4 years ago

npinsker commented 4 years ago

To reproduce:

In the case of Ubbie-Mesh, the program renders nothing and immediately crashes, with stack trace:

TypeError: Cannot read property 'texture' of null
    at dragonBones_flixel_FlixelSlot._updateFrame (HelloDragonBones.js:19685)
    at dragonBones_flixel_FlixelSlot._updateDisplay (HelloDragonBones.js:7697)
    at dragonBones_flixel_FlixelSlot._update (HelloDragonBones.js:7788)
    at dragonBones_Armature.advanceTime (HelloDragonBones.js:5822)
    at dragonBones_flixel_FlixelFactory.buildArmatureFlixel (HelloDragonBones.js:19455)
    at dragonBones_flixel_FlixelFactory.buildArmatureDisplay (HelloDragonBones.js:19431)
    at FlixelRender.create (HelloDragonBones.js:4314)
    [...]

In the case of Sheep, the program runs, but the render output is very malformed:

image

The OpenFL and Starling renderers behave correctly on both files. I tried exporting the sample Dragon project myself as well, and it works correctly.

I'm on flixel 4.7.0 / openfl 8.9.5

Lykdraft commented 3 months ago

Same issue here. DragonBones Sample Flixel-Dragon works fine. My own exported stuff (all of them) doesn't. They work in Cocos Creator 3.8 and Godot 4 (with the DragonBones GDExtension.)

Unity DragonBones has some issues with the rendering like in the picture above. But still loads.

Most of the other exported DragonBones Projects (be it Windows or Mac) don't even load.

The Uhbie (or Ubbie)Character from original DragonBones doesn't work either.

This is the most prominent error: Uncaught TypeError: this._displayData is null

It is now 2024, I know. I also don't expect any answer to this problem anytime soon. But nonetheless, this thing should work, no?

(By the way, this is the only DragonBones implementation where there is no break/reset in the colortransform when a new animation is playing. I wrote workaround scripts for that in Cocos Creator and in GDScript for Godot, but when a new animation fades in, the workaround doesn't work anymore in all engines. Flixel does this with bravour.)