Gamua / Starling-Framework

The Cross Platform Game Engine
http://www.starling-framework.org
Other
2.82k stars 821 forks source link

AssetManager problem #1080

Closed Mintonist closed 3 years ago

Mintonist commented 3 years ago

Hi!

UPD. Sorry about previous problem descr - I'm confused trying to find the reason. Here is original problem:

I noticed strange thing with my spritesheets.

I have 4 files created by TexturePacker: 2020-09-12_022239 And my game screen looks like: 2020-09-12_120618 Right version must be: 2020-09-12_120650

I noticed that all textures from gui2 atlas aren't visible.

Link to these files - https://www.dropbox.com/t/4nOMVUJb4960o8gg

Any ideas?)

esdebon commented 3 years ago

Maybe your file gui_1.xml have the wrong name in the imagePath

<TextureAtlas imagePath="gui_2.png" width="2048" height="2048">

instead

<TextureAtlas imagePath="gui_1.png" width="2048" height="2048">

Mintonist commented 3 years ago

esdebon, sorry! I'm confused trying to find the reason. I updated post with original problem:

PrimaryFeather commented 3 years ago

What's the trace output shown while the asset manager is processing the files? Is there anything suspicious?

Mintonist commented 3 years ago

[trace] [AssetManager] Enqueuing 'gui_1.png' [trace] [AssetManager] Enqueuing 'gui_1.xml' [trace] [AssetManager] Enqueuing 'gui_2.png' [trace] [AssetManager] Enqueuing 'gui_2.xml' [trace] [AssetManager] Enqueuing 'Troika.png' [trace] [AssetManager] Enqueuing 'Troika.fnt' [trace] [AssetManager] Enqueuing 'graphics.json' [trace] [AssetManager] Adding xml 'gui_1' [trace] [AssetManager] Adding xml 'gui_2' [trace] [AssetManager] Adding texture 'gui_2' [trace] [AssetManager] Adding xml 'Troika' [trace] [AssetManager] Adding object 'graphics' [trace] [AssetManager] Adding texture 'gui_1' [trace] [AssetManager] Adding texture 'Troika' [trace] [Starling] Warning: frames inside the texture's region are unsupported. [trace] [AssetManager] Adding textureAtlas 'gui_1' [trace] [AssetManager] Adding textureAtlas 'gui_2' [trace] [AssetManager] Adding bitmapFont 'Troika'

What about is this warning? If I use another scale (all image fit one atlas) - warning exist but all looks fine in game.(https://www.dropbox.com/t/OhzBqVXKzybmhCmE).

PrimaryFeather commented 3 years ago

Hm, I think that warning only means that too much of a certain texture will be displayed, so that's probably not it.

What's really strange is that you don't get any null reference exception. If the textures couldn't be accessed, you'd definitely get some of those.

Another question: if you set Starling.current.enableErrorChecking = true, do you get any additional output?

Mintonist commented 3 years ago

Only this: [Starling] Full mask support requires 'depthAndStencil' to be enabled in the application descriptor.

PrimaryFeather commented 3 years ago

That's unrelated to this problem, but you should definitely enable "depthAndStencil" in your application descriptor, like here.

As for our main problem, I'm slowly running out of ideas. 😕 If you add those same two texture atlases to a separate, new project: does that work? Or are still just the images of one of the atlases visible?

Mintonist commented 3 years ago

Mystery thing! I rename "gui_2" files to "test" and it works!

In my other project I have "gui_1" and "gui_2" files and have no such problems. Seems because combinations of file names and texture names inside spritesheets.

UPD. "gui1" and "gui2" works fine two... Don't use "_" symbol!)

PrimaryFeather commented 3 years ago

This is really weird. I can't think of an explanation of this behavior right now; those names really shouldn't make a difference!

However, I'm happy to hear that you found a workaround, at least – the most important thing is that you're not blocked by this!