ActionScript 3.0 :: Passing Argument From A When Using One Class For Multiple Assets?
Aug 7, 2009
I had a class that I was passing a simple argument to like so:
var quiz_1_2:CaseStudyQuiz = new CaseStudyQuiz(2);
addChild(quiz_1_2);
I now would like to use this class for multiple MCs in my library. I thought I could let Flash create a class for each of them and specifying the CaseStudyQuiz class as the Base class. When I do that, I get the following error:
what I am trying to do is create class that loads assets(images) from library and places them on the a stage.I want my class to be something like this...I know it needs to be more complex, I am just trying to "draw" out my idea for you, I have tried using getDefinitionByName to pass the linked MovieClip and some variations on that but for some reason I can't get it to work.[code]
I saw a post that touched on this, but I thought it deserved a thread of its own for explicit verification. It seemed that some of the resident geniuses here had given the thumbs-up to passing your whole doc or app class to a function. Please correct me if I'm wrong, as this sounds convenient but I assumed it would cause heart attacks and CPU meltdowns.
EXAMPLE: Say I have an app class that controls my entire game (or slideshow), and it has an ENTER_FRAME scrolling function that's 50 lines long with tons of conditionals so I want to take it out and make it an external file. I pop it into a new .as file but now all my variables are out of scope. I could pass them each individually, but there are so many it's impractical. So my question is: good or bad practice to pass the entire class?
I've seen that it's very simple to create a document class (a class associated to the main timeline itself), or an instance of a class which is linked to a single asset (e.g. a movie clip).But what if I need to implement a class (let's call it Main) which uses multiple assets from the Flash library? The only way I know to do this is by instantiating any asset with its linked class, and passing them all to the Main constructor like this:
ActionScript Code: var asset1:Asset1 = new Asset1(...); var asset2:Asset2 = new Asset2(...); var asset3:Asset3 = new Asset3(...);
[code].....
This is kind of a tedious process, especially when the composition hierarchy is long and you have to pass them all as arguments through many nested classes.For instance, I needed to link a preload sprite (the typical circle in gradient color which is constantly rotating until the load is complete) from the library to any thumbnail class of a gallery, which in turn is part of another class, which in turn is part of the main class. So I needed to pass this preload clip as an argument throughout the nested classes.
I have a .swf file through which i am passing arguments to .exe file which is basically a C++console application, how is it possible, should i tweak the sourcecode in th application file for it to accept the arguments passed?
I had been trying finding a way to passing more than one arguments using FlashVars. Below is the snippet of HTML code, using this parameter:
HTML Code: <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,
I have a global function that does some stuff with a LoadVars in it.I 90% of the cases, the onLoad reference of the LoadVars is the same, but I sometimes need to do something else when the LoadVars is loaded.Is there a way to pass a function reference to a function so that I could do something like that :
[AS] _global.function myFunction(maybeFunction) { myLoadVars = new LoadVars();
The transition from AS2.0 to 3.0 has been a long and broken trail for me.
Is there a way to pass arguments to a function via addEventListener, like (but unlike) this: timerTurn.addEventListener(TimerEvent.TIMER, moveUnit, "unitname", "unitdirection")
where moveUnit is the function I want triggered, and "unitname"/"unitdirection" are the arguments?
My question is slightly complicated : I have a global function that does some stuff with a LoadVars in it. I 90% of the cases, the onLoad reference of the LoadVars is the same, but I sometimes need to do something else when the LoadVars is loaded. Is there a way to pass a function reference to a function so that I could do something like that :
So far, I have a class that creates a Vector object, and pushes data into it:
ActionScript Code: public var mList:Vector.<cusClass> = new Vector.<cusClass>();
The data is read by a second class like so:
ActionScript Code: trace(firstClass.mList);
The problem Im having is take that same Vector and passing it into a third class (from the second class) as an argument in a method: ActionScript Code: views.mUpListing(firstClass.mList);
I am using a carousel with items in it...when the user clicks an item in the carousel, I want a new swf to load to _level0 and replace the carousel on the stage...the new swf reads an xml...however the xml should be different for every item on the carousel...is there any way to pass the xml file name to the loadMovie command so the new swf can use it?
I have one event handler for several object's events. I would like to pass a value through to the function from the event listener:
function chkEmpty(event:Event){ if(event.currentTarget.text==){ thisIsBitIWantToBeAbleChange.text = You haven't entered anything in the box, please try again hisIsBitIWantToBeAbleChange.setTextFormat(validate_frmt); } }
Could I give the event.currentTarget a value that I could test for? So if the value is 1, I effect output1_txt, if 2, output2_txt, etc etc. If so, are there customisable values that I could use that wouldn't do anything to the display object,?
I'm trying to figure out how to set a MovieClip return value by passing a string argument and using that string to define the child of a given movieclip. I'm doing something wrong because I keep getting null traced instead of home_mc.[code]
This is a follow-up to another thread that is getting wordy and unfocused:
[URL]
I am trying to load an external library .swf to use its embedded fonts, much like this method:
[URL]
However, the swf that is loading the font swf is loaded within a wrapper swf, and is defined as a separate ApplicationDomain as the wrapper.
Wrapper swf (app domain 1) <--- Player swf (app domain 2) <--- font library swf
The font is loading fine, and I'm even able to retrieve the font name (so I'm able to reference the object), but it is *not* showing up in the textfield as it should be.
When I remove the ApplicationDomain issue between wrapper and player swf by testing the player swf locally in the IDE (*not* loaded through the wrapper), it works fine. But I'm not sure how or why this is, because like I said, I'm able to get the font name so I'm able to reference it, it seems.
The TextField is being set to embedFonts, the font is loading, everything else seems to be working 100%, but there's some issue between the application domains that I just *can't* figure out.
The argument to my method func() must implement the two unrelated interfaces IFoo and IBar. Is there a better way of doing this than declaring another interface only for this purpose that inherits from IFoo and IBar and using that interface as the argument type?
I'm loading some external assets with the Loader class. I've done this a lot over the years, but seem to be coming across a problem I haven't had before. I want to display two instances on the stage at the same time of a .png I'm loading externally. If I use the Loader instance's contentLoaderInfo.content object in more than one sprite, the bitmap just "moves" from the first instantiated sprite to the second. I've tried duplicating the sprite with Senocular's duplicateDisplayObject class, but for some reason, it's not working right. But shouldn't I be able to use multiple instances of an imported bitmap like this just as if it were in the library of the .fla? If so, what do I need to do?
Basically, if I have a swf with: Actionscript Code: var example:embedTest = new embedTest(Font1);addChild(example); Can the class file bring in Font1 and use it as the class name.
I've created an fla whose document class imports some static functions. The library also has some linked symbols (should they also be imported in the doc class?). I exported the fla as an swc, and tried using it in a new project. Whats the right way to reference this? And do i need to import the swc into this new fla to use them?
I have recently moved from AS2 to AS3 and I am finding the transition fairly easy, however I do have a few questions, some of which may not have been possible with AS2 but I would like to achieve them in AS3
1. Is it possible to pass the name of a class as an argument in a function and then use it to create a new instance. e.g [code]
2. Carrying on from the previous question, if a class can infact be passed, can I specifying a variable type for the argument so that only classes and not instances will be accepted?
3. I have three class files that all inherit some functions and variable from another class called Ship. Is it possible to specifying a variable type so that the variable can only hold instances of classes that are inherited from the Ship class?
I have an SWC which includes a number of Assets for my project. Within this SWC is also a static AS file which contains Class declarations for each image in the library. For example, the SWF contains these images:
I want an air application to be able to update the assets it uses, but minimizing the download needed, so only downloading files added since it last updated.I'm thinking this would include a server portion which would zip the needed files based on a version number? Has anyone implemented anything similar / got any thoughts on the best approach to building this sort of system?
im tryng to call a function with a argument in the ContextMenuItem class.[code]It seems that when ever I try to send an argument with the down function, it simpley dont work and without it, it does work