Loaded SWF's graphic not proper and of low quality


#1

I am converting my as3 project to Haxe. I have a swf file with many movieclips. Each movieclip has many frame animation. I have successfully loaded the swf file in my haxe project but part of movicelip is missing while playing. Also the quality of loaded movieclip is low. I cant export it as bitmap as i have animation.
How can i load swf so that it does not miss any frame or any graphics?
What are the graphics constraint while loading swf in openFL?


#2

What version of OpenFL are you using?

Is the SWF quality an issue with rendering quality, or quality of reproduction? The graphics do not look sharp, or do not look correct? Could you share a screenshot?


#3

I am using OpenFL 7.1.2.
Regarding quality issue i figured out my mistake. I was scaling my movieclip manually and had set width and height as stage.stageWidth & stage.stageHeight by code, also my project.xml had window width and window height specified. I solved it by changing window width and height to zero in project.xml.
Still there is rendering issue.The movieclip with animation is not getting rendered completely. How do i solve it?


#4

maybe you can try to clean/simplify your paths in Animate (I guess it’s vector based).


#5

Hmm, this looks like an issue with seams between two drawn paths. How canvas and Flash handle this is a bit different. I wonder if there’s a good solution for this

EDIT: You could fix this by putting shapes on different layers, and overlapping them on the edges, but this doesn’t seem like fun


#6

Currently I’m wrestling with similar issues, importing a lot of SWF assets, and the result sometimes is exactly what you’ve just experienced, disconnected shapes, missing fills etc. I’m working with assets of a few years old and luckily I have the original documents so I can make changes, but I guess it’s more difficult for the ones who only have the SWFs.

While I can’t point out what exactly causes these issues, here are some methods that might help getting rid of them:

  • Sometimes OpenFL hates grouped objects (especially multiple groups within the same symbol). Breaking apart the Group and putting the contents in a new MovieClip can help
  • Sometimes even MovieClips have to be broken apart and new symbols must be created. Don’t ask why, I have no idea, but had a few sprites for which this method fixed the rendering issues
  • I also noticed that converting lines to fills sometimes helps. Again, it’s inconsistent, but you can try.
  • Similarly named instances can cause some rendering issues. I’ve had a file with 5 instances of “ball” on the same layer/level, obviously those are not good

Sorry if I sounds a bit harsh, I still love OpenFL, there are just a few annoyances which make the work with it a bit harder


#7

If you have a newer version of Animate, also try the Export as Bitmap feature, which is great. Unlike the Cache as Bitmap feature, which is runtime, Export as Bitmap is compile-time, which means your art is perfectly preserved (albeit, as a bitmap) which makes the OpenFL-side of the rendering simple.

Graphics is a tricky thing, we may still need to handle winding rules properly from SWFs (for example)


#8

Thanks everyone for the input. Also I figured rendering issues of movieclips with shape tween.Converted it to frame by frame animation. I cannot export it as bitmap because movieclip has animations and i would lose the animations