ActionScript 3.0 :: Subclassing - Library Items And GetDefinitionByName?
Aug 29, 2009
I've recently inherited an AIR project, which is basically a widget that displays product images and static content (contact details etc) on the desktop.The original project was developed in CS4/AS3, and has been published and works fine. Since then, the original developer has gone overseas and I've been hired to make new versions of this widget, UI reskins, different products, etc. I work in CS3, so I've had the original Flash authoring file saved down, gotten Flash CS3 to be able to publish for the AIR runtime, and found the relevant AIR classes that I need. This has all gone smoothly.
The problem I'm having, is that there seems to be some strange way that the original developer has linked the library items to their relevant classes, and I'm trying to unravel this.I'm going to use the clip called windowApplication as my example.In the library, there is a movie clip symbol called 'windowApplication'. In its linkage settings, its class is set to 'windowApplication', and its base class 'com.aca.windows.Application'.The Application class extends the MovieClip class.However, when I test the app, I get compiler errors
'5000: The class 'com.aca.windows.Application' must subclass 'flash.display.MovieClip' since it is linked to a library symbol of that type.'
'1151: A conflict exists with definition SectionBackground in namespace internal.'
(SectionBackground is the first variable declaration in the Application class. Commenting it out makes this error change to the second variable declaration).
I can remove this error by changing the class of the 'windowApplication' symbol to 'Application' and setting the base class to 'flash.display.MovieClip', however that doesn't seem to instantiate the class properly. The symbol appears onscreen, but none of its instantiating functions are called.
The windowApplication object is instantiated using a getDefinitionByName call. I've had a google and looked around various forums, and I've seen suggestions that classes used in getDefinitionByName need to also have a fake instantiation so that they're compiled in Flash. I've tried this but it makes no difference.It seems to me that the getDefinitionByName call is working properly, as it does bring up the correct symbol - but only when the base class is flash.display.MovieClip.
I had another movie clip, called sectionMain, that also had this problem. Its original class was 'sectionMain' and its base class is 'com.aca.sections.Main'. It, too, threw a compiler error 5000. I changed the symbol's class to 'Main' and the base class to 'flash.display.MovieClip', when testing the app, this brought up the symbol. When I changed it back to the original settings, it worked fine, the object was called properly and I could interact with it. However, when the errors with the Application class are thrown, I also get the 5000 error for the Main class - without having changed anything.When I change the class of the windowApplication symbol to 'Application' instead of 'windowApplication', I get a warning that Flash can't find the class and will create one at runtime.
View 4 Replies
Similar Posts:
Aug 21, 2009
Say I create a symbol, and then another inside the symbol. In the library I now have 2 symbols. Is there a way to combine these into just one library item?
View 1 Replies
Apr 12, 2011
I have a flash file, which is a header for a website. I inherited it from my company's previous webmaster. I was looking through the library items & see alot of images & graphics that I don't see in the finished product on the webpage. The guy worked really sloppy so it's possible there's alot of unused items. Is there anyway to easily tell which items are not used in the final exported flash file so I can clean it up?
View 2 Replies
Jul 20, 2009
I downloaded a flash template for my website. All the library items are not local. Here's the path:..........websites20004sources2007dekabr_#lana_2128flashps d1_ikon.png
How can I save my library items so I can edit them in FW? I have CS4.
View 6 Replies
Aug 13, 2009
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.
View 3 Replies
Aug 13, 2009
I'm practice with Flash, and trying out different things, but somehow, I managed to create a movie symbol from a graphic symbol, and now whenever I try deleting one of the symbols, it effects the other symbol as well.
I only want one of these symbols, yet I can't seem to only keep one. They both seem to depend on each other, and I don't know how to get around this.
View 2 Replies
Oct 19, 2009
I am developing a site in flash and have over 800 Library Items. My problem is, I need to edit a portion of a Library Item and cannot find the Library Item, and NO, I did not delete the Library Item because when I go to preview or test the flash document, the Library Item is there in the movie. Is there any way to search for the Library Item? I am using Flash Professional 8..
View 2 Replies
Feb 21, 2011
version flash cs5
ok so i know the general code to rename all selected library items
var items = fl.getDocumentDOM().library.getSelectedItems();
for (var i=0; i<items.length; i++){
var item = items[i];
item.name = "ABC_"+item.name;
}
but this isn't good enough if the library items are in folders... because item.name returns the full path, but item.name sets the name. o.O as someone else points out here, [URL]
so when i try to rename Level1 to be ABC_Level1 if Level1's folder path is LIBRARY/FolderA/FolderB/Level1 i get this instead ABC_FolderA-FolderB-Level1
i could probably code some sort of string parser something like this,
item.name = "ABC_"+item.name.substr(item.name.lastIndexOf("-"), 99)
but that is really ugly and would not work if library items contained "-" already. "Level-1" for example
different way to access the name that returns just the name and not the path
View 3 Replies
Jan 29, 2010
I've got a flash movie that loads images from an external folder. I'd like to make a CD version and would like to have the images embedded in the flash movie so that the images can't be copied from the cd. I thought I could add the images to the Library and reference them from the xml file.
View 2 Replies
May 21, 2010
I was wondering if you could loop through your library or a specific folder in your library and get alle linkage names of items that have 'Export for Actionscript' checked. I have an amount of items in my library of which I want to random pick one. Of course I could just use an array of linkage names that correspond to my library items, but I was wondering if there is a more efficient way.
View 2 Replies
Aug 15, 2010
Does flash store the items in the library in an array? I would guess yes. For example if i have an array named pics in my fla file can i write something like:
for(var counter:int = 0;counter < library.array.length;counter++){
pics.push(library.items[counter];
}
View 9 Replies
Jan 18, 2006
if there is a way to get a manual text list (or an array or really just anything I could use to get an overview) of items in the library of an FLA...?
I have about 60 movieclips of different flags in my FLA- they all are "linked" to be used in Actionscript- so they have names there but are not named otherwise (as instances on the stage, for example).
Is there a way to get a list of them? I don't want to have to type them all out manually, if there is another way
View 3 Replies
Apr 27, 2009
I'm still in the 'need to learn a lot more' phase of AS3 and am wondering the best way to do this. I have some graphics (MovieClips) in my library that I'd like to have use the same class. But Flash wants unique class names.What's the proper way to handle this? External swf graphics?
View 7 Replies
Sep 1, 2009
lets say you have a whole website written in classes, and you have some items in the library as well (maybe some buttons, a picture for a background and so on...)what to do with all these simbols?leave them in the library, give them all a class name, and when the website loads access them like that, or pull them out on the stage, not neccessarily in the visible area, and not neccessarily on the first keyframe.
View 1 Replies
Sep 30, 2010
so I have a few questions about preloading and specifically preloading in relation to items within the library which get added to the stage through AS3.
The main thing I don't understand is, what is the library? Are these assets contained within the FLA itself and is their data transferred to the SWF on export? If that is the case, does preloading the entire SWF preload its entire library (even the items that are not on the stage?)
If not, how do I preload items which are in the library?
View 4 Replies
Jul 17, 2011
So my simple question is, when you link to the library for certain items right, whats the purpose? Does it reduce file size? and if so how?
View 3 Replies
Oct 10, 2011
Don't know if I should place this here, but this is where I'm at the most and possibly this needs some coding.I'm working on an Android App and I've been constantly working on getting my content as small as possible, recently I found a way to make it even smaller with remaining quality. But now I have to manually change every file/import a new one and change the movieclips contents. This is A LOT of work, is there some way to batch replace a lot of files at once?
View 10 Replies
Sep 10, 2008
right now i have some items in my library that use a base class using the linkage menu item by right clicking on the item in the library.
i want to dynamically populate the movie clips instead of them being already in the library. I know how to create/populate the movieclips by using the loader class, but i am not sure how i assign the base class to each movieclip i create in my .as file
View 1 Replies
Sep 10, 2009
Having this litle code, how do I access the erro textArea?[code]...
View 1 Replies
Jan 19, 2010
I used to put a load of instance names linking to library objs into an array in AS2, then use a loop to add them to the stage..I htought this would work in AS3, alas no.
Code:
var list:Array new Array("one", "two","three");
for(var i:int=0;i<list.length;i++)
[code].....
View 1 Replies
Apr 27, 2010
Is it possible to delete the library items at runtime?
I am loading b.swf in a.swf. After some time b.swf unloads and c.swf is loaded inside a.swf. Though the b.swf unloads but the library items of b.swf remain there and conflict with the library items of c.swf. c.swf has some items with the same name as in b.swf. c.swf shows the movieclips from the library of b.swf with similar name.
I think the best way would have been to load these assets externally instead of keeping them in the library if we want to destroy them at runtime. But, we have a large number of already constructed files. Ability to destroy the library items at runtime will also help maintain memory usage in limits.
View 2 Replies
Oct 7, 2010
I am using the CS4 version and when I click on the library item and drag it to the stage, there is nothing there. It is just a blank canvas and it's like the image(s) are hidden behind the stage or something. When I do a Publish Preview, I can see the .swf file with all the images, but in the .fla, there is nothing showing but the text files, and then that is even hidden in a newly created file. I am not sure if I accidently turned something on/off that is preventing my images from not showing on the stage or what. I really need to find a solution to this problem because I need to create a Flash file for a project I am working on in one of my classes. Does anyone know what could be causing this? I have done Google searches and Forum searches to no avail unless I'm not using the right keywords in my search.
View 2 Replies
Nov 15, 2011
Why does Flash still offer to declare library items as either MovieClip, Graphic or Button? Is this just for backwards compatibility or is there any reason not to use MovieClip for everything? (Well, Button does have some additional functionality, but what about Graphic? does a Graphic have any advantage over a MovieClip?)
View 1 Replies
Aug 10, 2010
So what will be faster:a) From actionscript construct library items and put on stage and Tween;b) Or keep those library items on stage, but not on visible zone and then with actionscript make them appear with a Tweener?
View 9 Replies
Oct 11, 2011
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?
View 2 Replies
Aug 28, 2009
How do you access Library items from classes other than the document class?For example, if I create a movie clip in Flash and Export it for Actionscript with the name Foo, I can do this in the document class:
Code: Select allvar f = new Foo();
this.addChild(f);
And it appears on the stage, as it should. But I need to be able to create other instances of this object from other classes. If I use the same code above in SomeOtherClass.as, I get nothing on the stage, obviously because this class doesn't know about the Foo object in the library.
View 3 Replies
Feb 1, 2006
Is there a method, technique or third party item that will allow you to batch rename items in a Flash library?
View 3 Replies
May 27, 2009
I used to put a load of instance names linking to library objs into an array in AS2, then use a loop to add them to the stage..[code]...
View 3 Replies
Jun 15, 2009
I'm using a preloader to load an external SWF then initiating it through its document class using this code:
Code:
private function loaderCompleteListener(event : Event) : void {
var loaderInfo : LoaderInfo = event.target as LoaderInfo ;
[Code]....
The problem i'm getting is that the Flash that is being loaded has a lot of classes exporting on the first frame, which now cannot be accessed, and therefore I get "The definition of base class cannot be found" errors.
How do I ger the items in the library that export to AS accessible by the parent loading SWF.
View 2 Replies
Aug 24, 2009
I have a couple of movieclips in my library (there's 52 of them actually, I'm making a card game. ) and I have them exported for actionscript through the property menu.Is it possible to load them by passing a variable with the name of the movieclip class?[code]
View 2 Replies