ActionScript 3.0 :: Unused Classes Gets Compiled Into Swf?
Aug 30, 2010
I am building a swc [MY.swc] component with compc. It is suppose to contain base functionality for MY.swfI need to include another (third party) swc [OTHER.swc] into my own swc. This other swc has a reference to mx.core.mx_internal and I suspect that it is this reference that in the end, when I compile MY.swf, results in that all mx classes (mx.*) and all spark classes (spark.*) is included in MY.swf (seen when decompiling)The difference in size between MY.swf with/without OTHER.swc is ~180kB.The only difference (when decompiling) MY.swc with/without OTHER.swc is that the first has a reference to mx.core.mx_internal
Here is the compc part from my ANT task:
<compc output="MY.swc">
<include-sources dir="${project.root}/${SRC_ROOT}" includes="*" />
I have several Flex applications in a project, and I would like to know if there's a way to get a list of the classes (and ideally, other assets) that are being compiled into each one. I want an easy way of making sure I've kept things separate and there aren't unnecessary dependencies. Any ideas? I'm running Flash Builder 4.
I compiled a simple AS3 project using Flex 3.5 (also tried Flex 4.1) to create a small swf which draws a simple red square on screen. Nothing too complex that requires special flashplayer support (see code below)
package { import flash.display.Sprite; /**
[Code]....
and tried to load it into a AS2 swf I have compiled using Flash CS4. But that just didn't work. I don't get any errors when loading and the AS2 swf can load any swf, either compiled in AS2 or AS3 by Flash.
I am working on a feature for an application that requires Flex 4 functionality. Due to some migration issues of the application from Flex 3.5 to 4.0, I have decided to implement this feature as a module that is compiled with Flex 4.0. The theory is that the application would remain compiled in Flex 3.5 and load the module when it needs it.[code]
Flash CS4 is really good for design and development point of view. But I noticed two things:If library have more item then there is no option on right click "Select Unused Items". How can I get this option "Select Unused Items" on right Click while library have a more items with scrollbar?Some times the actions window's height increased. At this time there is no option to decrease the height of actions window except the Reset option.
On my first FLASH CS4 site I have changed several files from PS and re-imported Imported them into stage several times. Now the library contains lots of folders, i.e. Web Site.psd Assets 1 / Web Site.psd Assets 2 / Web Site.psd Assets 3 etc etc.. They obviously contain the same asset names, each with a corrected content.How can I determine which files are the ones used and delete all the others from the library?
I am adding content dynamically and I was wondering if I can assign unique ids to the content (for example every loader object).
What I am trying to do is generate an instance name that is not yet used by any object. For example, when you add a child on to the stage and then do something like trace(mc.name); it would be something like "instance3". Is there anyway I can get that generated name and apply it as my id name?
I know this is a hard concept to grasp, but what I am looking for is something to generate a name that is not yet used by flash.
I've been working on a project for some time now in flash develop and it's come time to clean it up. While I was working on it I re sorted code into different classes without removing the imports in the existing classes. Now I know I probably have a ton of unused imports in classes I was wondering if their was an easy way to find these and remove them. At the moment the only way I can think is comment them out one by one until the app chucks a spaz?
I am trying to make the project build light by removing all the unused (mxml,xml and image ) files. Currently I am manually searching for each image and then removing the unused file. But is there a way such that we can get list of unused files automatically . I was trying to use the swfDump.jar from 4.0 sdk . But that dint work as it is working with projects that are build using flex sdk 4.0. I am currently using 3.2 .
I have a really big project that has gone through many iterations, and has gotten very large. I am certain there are a lot of library items that are not being used, but I am not sure how to identify them. The FLA file is really large, 500 MB. And I am running into memory problems. Is there a way to remove all unused library items in an FLA? Or at least identify them?
I have a large swf that is embedded in Director as a sprite I now want to put it onto a web page, so file size is critical Is there a way to remove unused library items when publishing so that file size is reduced? Is there another way to compress the swf so it is much smaller?The current size is about 25 Mb.What about streaming the swf?I'm not talking about streaming video or audio, just any Flash content.In Director, there is a way to right-click on a cast member and choose "find in score".If something isn't found it means that it either is not used in the movie or is implemented through code
I would like to keep my project library tidy, which means deleting symbols I end up not using. However, I want to be able to find these symbols later in case I do end up wanting to use them for a related project. Can I create a library outside of a project, so I can drop these items into it for later use?
I currently have 6 different flex applications (widgets) that run on a main page.They all depend on one common library project.I am currently cleaning up the codebase quite dramatically and it is hard to keep overview this way especially since I inherited the codebase.Does anyone know a tool that can automatically inform me of any dead code?
I have a large swf that is embedded in Director as a sprite. I now want to put it onto a web page, so file size is critical. Is there a way to remove unused library items when publishing so that file size is reduced? Is there another way to compress the swf so it is much smaller? The current size is about 25 Mb. What about streaming the swf? I'm not talking about streaming video or audio, just any Flash content. Any tricks for speeding the process up so that the user doesn't have a long wait before the swf starts?In Director, there is a way to right-click on a cast member and choose "find in score". If something isn't found it means that it either is not used in the movie or is implemented through codeIs there a similar way in Flash of detecting unused items or automatically eliminating them when publishing?
I'm working on CS4 / Windows 7. I recently moved from XP where everything worked fine. My problem is that compiling any movie now takes about 40 seconds longer than before. I have been able to narrow down the issue to this. There is folder in my classpath which is on a local network. It is this folder that is causing the issue. Plus, even if this folder is not required at all to compile the movie it slows it down anyway. As soon as that folder is removed from my classpath everything works as it should -- of course, for movies which don't require that folder to compile :-) --. Having said that removing the folder or changing its location is not the solution I'm looking for.
I have a lot of stuff in the library. There are also additional items. Whether it has effect on the swf file. I can't use "select unused items" and delete. After that the swf does not work correctly.
Currently optimizing an application at work. There are many files in some of the module projects that are not used by the exported (release build) Module.swf's. Are these unused files included in the swf's?
Eclipse has a built in functionality to find unused variables (and methods too I guess). Flash Builder 4 is built on top of Eclipse but it doens't have that functionality. Do you know any plugin to achieve that functionality? Also, if you know any other kind of plugin besides SourceMate to improve Flash Builder let me know.
The examples I'll use don't do anything - they're classes without ANY members - no variables, methods, anything.
Let's say I extends Sprite and call it MySprite.
I save it in test.core
[code]...
Now I create another custom class called MyWindow that extends MySprite.
I save it in test.windows
[code]...
Then I create another class that extends MyWindows (the example I'll use is a document class - but that doesn't matter - I've tested using an instance too).
[code]...
Notice that I'm not even trying to instantiate the helper classes - just having them there throws the error.
If there is only a single helper class, everything runs fine.
Also note that - as far as I can tell - this only happens when extending one class from another package, then extending that class with more than one helper object.I'm pretty sure there's no namespace bumps or typographical errors, as this is a very pared-down version of the original application.
EDIT: seems the problem exists even without the crossing packages - even extending MySprite in the document class with multiple internal classes generates this error.
I am creating a library in AS3. Inside the library I make use of a bunch of classes/packages that need not be exposed to the end user of my lib. I want to only expose one of these classes.
I guess my questions are:
1) How are libraries commonly distributed in AS3?
2) Is there a .jar equivalent in AS3 that developers can include, but will only have access/knowledge of the classes I've declared as public?
I have an actionscript project which uses visual symbols from an SWC. I have a CheckoutButton which has the following class associated with it (compiled into the SWC in Flash CS3).
I have had this problem a few times lately. When I try to update & publish files that I created in the same version of Flash CS3 and previously published fine, the "Exporting Flash Movie" bar comes up, but no movie compiles. When I go to look for the swf in the Finder (Mac OS 10.5.7), it has mysteriously disappeared, and only the .FLA remains.
It doesn't happen with ALL files I publish, only some -- so I know the SWF preview should come up automatically. I normally work off of a shared network drive, but the same thing happens on my local machine. Has this happened to anyone else?? Is there a cache I need to clear or something?
I would just want to know if someone know what it's about and how to work around in on XP 64-bit.I've got my ActionScript-program to work on all the different computers I could find and with all versions of IE with IETester. However the guy I was doing it for kept getting a problem when he was uploading files. My upload file-part looks almost exactly like the final example in the FileReference Adobe livedocs:URL...I'm pretty sure he got a HTTPStatusEvent that stopped uploading, though I didn't have a warning for that but I had for the different errors and the rest are just signaling when it's canceled, done, and the progress. HTTPStatusEvent is the only one I'm not entirely sure what it's doing so I think that's the one. Though Googling that didn't solve my problem.Anyway I found some machines with Windows XP 32-bit and seemed to get his problem when using Internet Explorer, though Mozilla was always fine (the guy with the problem was only using IE). I tried shutting down firewalls and changing the settings in IE without any difference so I installed Adobe Flash on one of the computers with Windows XP 32-bit, compiled and uploaded the new swf-file and it works on Windows XP 32-bit. Also on Vista 32-bit it always works with both IE and Mozilla.
These computers with 32-bit and 64-bit XP are several hours with bus apart so I can't do any quick tests (like printing a warning for the HTTPStatusEvent compiled on XP 64-bit, sorry). I Googled for problems with 32-bit and 64-bit XP but I couldn't find anything, with ActionScript 3 that is. It was the common hysteria that 32-bit programs don't work on 64-bit systems that made me re-compile my program, but this was the opposite.Does it seem likely this was even the problem? Have anyone ever had a similar problem? This might also be more of a Adobe Flash-problem, but everything except the FileReference part works.
I've been messing around with SWF Decompiler's latest and found that my Flex3 project's main MXML file is found verbatim in the SWF (in addition to the compiled class). How can I make sure this is not included?
I have found a bug in flash CS5, I was wondering if anyone else had this? This bug occurs in Flash CS5 when creating compiled clips which use the 3D rotation tool. It appears that if you attempt to convert a symbol which contains a 3D transformation to a compiled clip it will not work correctly. What makes this problem worse is that the error is not reported correctly and so it is nearly impossible to debug.
It's a great thing that it's possible to compile an SWF into iOS native app. I think AIR is now the best option to write e.g. small games or interactive books. Of cause AIR app will be slowler than the same app written on e.g. objective C. The question is how slower AIR app will be. Can simple AIR apps be launched e.g.on iPhone 3G or iPAd 1?
And another question is, can arbitrary flash app be compiled into iOS native app?
Im using Flash Builder 4 on the Mac and I have a worrisome problem: The compiler is sometimes not detecting my code changes.For example I might write some code, compile and run, then add some logging statements, but they will not print. After a clean compile everything runs as expected.I cannot see a pattern to the exclusion of changes. I'm wondering if anyone else is having the same problem?
Details:
Flash Bulider 4 Pure AS3 project targetting Flex3.5 SDK Max OS X Snow Leopard My code does not use semicolons to terminate statements