ActionScript 3.0 :: Extend Function / Method Of A Parent?
Sep 6, 2010
I have looked around a fair amount and cannot find any information as to whether this can be done.
I want to know if it is possible to entend functions of a parent class i.e.I have a parent class which has a draw method and extends sprite. I want to draw something in this class e.g. a Box. Then I have a child class which extends the parent class. I then want another draw function in this class so that it still draw what is in the parents draw class as well as what is in the child draw class.[code]...
is there a way to extend a function, or override it, without having to rewrite the whole function. e.g would it be possible to add a simple trace statement at the beginning/end of the addChild() function. im looking for something similar to super() in constructor. just as i dont have to rewrite the whole constructor of the class that i extend, but i can add my own code, then call super(). ive read something about prototypes and that they could be possible solutions.
I'm trying to load an external swf into another swf and acces some variables and functions. This actually works quite well, however I'm dealing with some variables from the external loaded swf that are read-only.I'm wondering if I could somehow change the variable to be writeable as well by extending a function from the loaded swf.Maybe there's also another way to change the read-only variable, but I have no clue.I know all the variables, functions and class names from the loaded swf, I just can't change them myself, I have to do it by loading the swf externally.The class from the external swf is called "Application" where I want to change the "public const DEV_SERVER_URL:String" to another string, or extend the function: "private function get serverUrl()" returning a string.[code]
I loaded external swf named child.swf from parent.swf. i am having a function called parentFunction() in parent.swf. I want to call parentFunction() from child swf.
To my knowledge, there are 3 options:1 - parent.publicPropertyOrMethod.2 - using static vars/methods.3 - dispatching events.Under best practise for OOP development, which is the "best" method? Are there any more?I dislike #1 and never use it as it and can easily descend into hideous parent.parent.parent references that are easily broken. #2 has it's own problems whereby attempting to get/set instance variables doesn't always work through a static function (I am yet to completely understand this). #3 is great for triggering methods (I use this the most) but sucks for altering class properties and suchlike.
I have a custom class called ToolBar which is attached to a library item. The library item has other clips within it and each is an instance of ToolBarButtonA, B, C etc and these all extend the generic class ToolBarButton. If I set an event handler for CLICK within each ToolBarButton to trace 'parent' it comes back [Object ToolBar] which is what I expected but if I try to then call a method through 'parent.methodName()' it fails saying 'call to possibly undefined method'
I just recently been using a lot of prototype javascript stuff, and was wondering there was anything like the "bind" method, for use in AS3. It's proved quite useful to be able to look both at the event.target as well as the class object the handler function might be associated with.
It's coming from this line of code:var dropTargetXML:XML = XMLTemplate.template.component.section.question.(@question_questionID == nNode.parent().@question_questionID)[0];nNode is an XML node sent as an argument to the function this is called in. The code runs,and does everything expected but the compiler sends out that warning. Do I have some formatting issue?P.S. I've tried telling it that it's XML like this:var dropTargetXML:XML = XMLTemplate.template.component.section.question.(@question_questionID == XML(nNode).parent().@question_questionID)[0];
OK, from what I know actionscript in Flex runs asynchronously. I need the ability to run a method in a loop synchronously. Consider this code:
public class CustomerContainer extends VBox { public function CustomerContainer () {
[Code]....
This is not my exact situation as it is a bit more complicated to explain here. There is an abstract class and several custom view objects derived from it. Some of the views are dependent on others being completed first but I cannot seem to order them in the correct order. TIMERS are not an option. Probably not explaining this correctly.
[code]All clips are squared.Ok, on the PlayerPlane, there are little soldiers, which have hotkeys. The effect I'm trying to create is I want to position the GameStage so that the currently selected soldier appears in the center of the GameClicker clip.The GameStage is movable by the player (to scan other areas of the map)by holding the CTRL key, so it's easy to kinda lose track of where your players are.I have tried using localTo Global and globalToLocal techniques, but I think I'm lost on the actual math of getting the GameStage to move the correct distance so that the selected soldier is centered to the GameClicker.[code]
new to actionScript and trying to finish my final project, and i'm banging my head on a brick wall now, my question may be easy for some pros, basically i've loaded an external swf from a button at main.swf
[Code]...
this works fine. then i'm trying to disable the button function while the swf is loaded. I add another eventListener to the same button. function disableMenu( e:MouseEvent ):void { button1.mouseEnabled = false;}
that works too. ok now comes the problem. I have a close button on my child swf("content1.swf) to close itself and returen to main swf. but I want the button on main.swf to work again. so at the close button I add another eventListener hope to enable the menu. (note this is on the child swf!)
I've created a Preloader.as class. When the preloader finishes loading, I'd like it to call a function from it's parent (the document class).This is the error I get:
Code: 1119: Access of possibly undefined property startApp through a reference with static type flash.display:DisplayObjectContainer.
i have a swf that loads a swf that loads one swf into that one. i need the final swf (child, child) to be able to call a function on the first swf (parent)
So, my problem, I have a Parent swf file that loads a bunch of smaller swf files. When I click on a button in one of these loaded swf files, I want to be able to call a function from the parent swf. Once called, the function manipulates things MC's within the parent swf.
Well- actually, my problem is a bit more abstract than this thread's title suggests..ere's the setup:I have a parent function (called "Game") with a couple of subfunctions.There is one subfunction ("Game.prototype.spawnBonus") that, as the name suggests, spawns a Bonus Item by duplicating a movieclip.The duplicate movieclip is created on "_root"-level and has an onEnterFrame attached to it that checks whether a certain stage is met (all this works).Now the problem is, when the case is met, I need to access a subfunction of "Game" and pass it the MC's ID to fade out the Bonus Item. Like so:[AS]Game.prototype.fadeBonus =
function(number) { // just some stuff to fade out the MC with the number // passed through the value "number". This works well,
I have a function (let's call it testFunction for right now ) on the actions layer in the main timeline There is a movie clip with 15 frames long in the library
i want to add a child of the movie clip on the stage, and call testFunction when it finishes playing
how can i do? i tried to call it in the child but nothing works
Or, is there any way to show child on the stage for only a period of time like 1 second and then remove it automaticly?
new to actionScript and trying to finish my final project, and i'm banging my head on a brick wall now, my question may be easy for some pros,[code]this child swf is loaded from xml. and the close button is created by using AS file. The "button1" is just on the stage of the main swf. Maybe these make some difference so i can't just point it back using (root)?Any idea how do I resolve this? Or am I not supposedd to do it this way at all?
In actions in my .fla file I create a new object of a class (addChild) which is in an separate .as file. Now, in my .as file I want to call a function in the .fla file. This should be the parent right? So, I try parent.correct(); which does not work. I get the error #1061 (call to a possibly undefined method). However, when I do this: var par:* = parent; par.correct(); Everything works. Why is this?
i have a swf that loads a swf that loads one swf into that one. i need the final swf (child, child) to be able to call a function on the first swf (parent)
I have a function in a child that I need to have executed by the parent but I can't get it to work. Does anyone know how to call the function in a child from a parent?
What I'm doing is having the parent load a few buttons and I want to re-use the button swf, but have the parent provide the text for the button.[code]...
I have a .fla file with some code in the actions panel.A bit of code calls a function in a class from the actions panel .The function in the class is run, but I want to be able to call a function in the main actions panel code from the function in that class .The class doesn't extend anything so (parent as MovieClip).function() does not work.