ActionScript 3.0 :: How Dose Extending Classes Work
Mar 10, 2010
I dont understand how extend workes.. when i extend a class,will it replce that class entery point or will a class that extends another have "two" entery points? And can i pass paramters to the extended class?
im trying to port my code to as3 but i stumbled on a problem i have no idea how to fix. error report:
Code: verify PointAirFri$iinit() stack: scope: [global Object$ Point$ PointAirFri$] locals: PointAirFri Number Number Number 0:getlocal0 stack: PointAirFri scope: [global Object$ Point$ PointAirFri$] locals: PointAirFri Number Number Number 1:pushundefined stack: PointAirFri void? scope: [global Object$ Point$ PointAirFri$] locals: PointAirFri Number Number Number 2:setslot 14 stack: scope: [global Object$ Point$ PointAirFri$] locals: PointAirFri Number Number Number 4:abs_jump 78424138 45 stack: scope: [global Object$ Point$ PointAirFri$] locals: PointAirFri Number Number Number 0:getlocal0 stack: PointAirFri scope: [global Object$ Point$ PointAirFri$] locals: PointAirFri Number Number Number 1:pushscope stack: scope: [global Object$ Point$ PointAirFri$] PointAirFri locals: PointAirFri Number Number Number 2:getlocal0 stack: PointAirFri scope: [global Object$ Point$ PointAirFri$] PointAirFri locals: PointAirFri Number Number Number 3:constructsuper 0 VerifyError: Error #1063: Argument count mismatch on Point$iinit(). Expected 3, got 0. at PointAirFri$iinit() at docClass/::init() at docClass$iinit() this is how the defined the classes:
Code: package{ public class Point { vars public function verlet(a) { code } public function savePoint() {; code } public function restore() { code } public function Point(__x:Number, __y:Number, __fr:Number) { x = __x; y = __y; dx = 0; dy = 0; vx = 0; vy = 0; friction = __fr; } } }
package{ import Point; public class PointAirFri extends Point { private var airFriction; public override function verlet (a) { code } public function PointAirFri(__x:Number, __y:Number, __afr:Number) { x = __x; y = __y; dx = 0; dy = 0; vx = 0; vy = 0; airFriction=__afr; } } }
if anyone has any idea why that error happens please enlighten me
Is it possible? If so, what's the preferred way? I'm seeing lots of ArrayUtil and StringUtil AS3 classes, but I don't like using them as it defeats the purpose of an object (StringUtil.trim(str) instead of str.trim()).
What is the difference between importing a class and extending a class, I know that when you extend you add all the properties/methods of that class to your own class, but I am still un sure of what this actually does for you and your program, I am pretty confused on the topic and I couldnt find the difference between the two on the internet, also how do you know which one of the two you need to do?
my understanding of extending classes is that you gain all the functions and methods of that class thus You could over ride any one of them. How ever I am confused on weather or not you inherit and can over ride private methods of the class you are extending or if you have to have all methods public in an extended class.
I've recently come to a roadblock in my code for a non-visual class I created; a sound class if you want to know. At first I coded with it extending Sprite (I can't remember why I started it out that way, but that's the way it was). When I came back to this code, I thought that extending sprite doesn't make any sense if it's an audio class and non-visual, where is no real reason to add something to the stage if you can't see it. So I removed "extends Sprite" from the class and errors started popping up around "dispatchEvent" coded areas. I then tried putting back the extention with "extends Object", hoping that would solve the problem; got the same thing. I've searched with google on why I can't use dispatchEvent on objects or classes not extending anything, but it only came up with how to use dispatchEvent with the usual MovieClip or Sprite tutorial.
Code: public function SideModule() { if (stage) { init();// stage accessible, call init function[code]....
if i extends thsi class with class B (class B extends class A) how will i get this events in class B? do i have to register for them in class B as well?
I have a library symbol, exported for Action-Script and to Frame1. Now in the document Class, i write
public class Test { public function Test():void {
[Code]....
Now the code works fine but when i write my own (sealed/fixed) Box Class that surely Extends MOVIE-CLIP, statement-2 gives error , i know the Box Class is not dynamic but the Movie-Clip is Dynamic. Now what i understand that Movie-Clip Class being dynamic becomes fixed/sealed when it is extended by any Fixed/sealed Class???
I'm currently developing a game in flash and want to be able to divide up my .fla assets in a way that means artists can work on a game menu .fla in isolation from the game.fla and rest of the game code.If I could briefly explain how I've approached this so far, I would be extremelyMy project is setup like this:HighScoreMenu.fla -> document class HighScoreMenu extending GameMenu class.game.fla ->document class game.asgame.as class loads the published HighScoreMenu.swf and manipulates the menu i.e. animates on and off screen via inherited functions in the GameMenu class.
Now this seemed to work to begin with, until my code evolved and upon going to publish my HighScoreMenu.fla flash started complaining about symbols being used in Game.as that were in Game.fla... If I'm only publishing the HighScoreMenu which extends from GameMenu then why is it even looking to compile Game.as
I'm trying to create a base class for components by extending Group in Flex 4, but I can't seem to define the layout through MXML. Any time I try to move the definition to a subclass of my base component, I get the following error:
Error: Could not resolve <s:layout> to a component implementation.
Judging by that error, it seems that some magic from the framework's side goes into assigning it for a Group and thus the compiler fails when trying to assign it for any other classes. Does anyone know how this is supposed to work? how to allow me to define it in subclasses?
i have created an animation and when saved in notepad as an html file everything looks as it should when previewed in any browser, however when i paste the code into my site via dreamweaver the animation dose not appear.
I'm currently trying to learn about how to work with classes inAS3 and for the moment i'm stucked in ho i should do if i want to use several classes linked to the same .FLA-file.what i want is to have lets say 5 different classfiles that each should be connected to the same FLA-file and i also want to communicate between the classes theirselves..
i have flash cs5 professional and adobe flash builder, SDK flex builder 4.0, publish with flash 10, and find that a simple "hello world" doesn't work. Dont output some message of error.What i do is create a new flash proyect save the fla file and then create a class where in the constructor i put the trace function with the message "hello world".I follow the instruction, and concepts, and understand everything, im not a new programmer i have experience with several lenguages.
I'm making a game which loads map .swfs at runtime. The maps will contain graphics and code, which can both vary from map to map. I've decided to make all the maps implement an interface, so they can all be used in the same way by the game. I'm using a .swc to contain the interface, like in this page.
I can get classes to work in the .swc, but not interfaces!
I'm using Flash cs5, and flashdevelop for editing, in AS3. Here's how I've been doing it:
1- create map.fla with a symbol called Map, and a Map.as:
I have a movie that reads class files located in folder called 'src' and has been working once I changed the path to absolute. for some reason now my movie has decided not to work.
this is how I create the path:
Go to porperties and click 'Edit' then clicking the AS3 'settings'. I then go to the 'Source path' tab and click 'browse folder' icon to the folder of the classes. having done all this my movie still does not work.
I can't make the tween to work. I've tried hundreds of tutorials and such (and they are all basically the same), I even followed the troubleshooting section of this tut with no results.If I download any file with that same script it works, if I copypaste it and do the exact same thing it doesn't. Maybe is something very simple that I just can't see but this is driving me nuts.
Basically I have a class called player.as The symbol "Player" is the only linkage it has.[code]It is trying to make the player, a movieclip onscreen, with an instance name "Player", move with the arrow keys. Sadly it doesn't work.
i'm trying to learn about clases, and i tried to make an easy XML loader, but i gotta a problem with the attributes that doen't take the value i provide with the att variable. it shows me on the trace statement like undefined, and for example if i change the atrribute instead of being dynamic, to be static, it does work.
Code: class XMLS { function XMLS(Path:String, textfield:TextField, att:String, n:Number) { var miXML:XML = new XML();[code].....
I'm trying to use Greensock LoaderMax on a Starling Framework project, but since Starling have a lots of its own class, how I can make it work with other classes that is using the native class?
i'm trying to build this as3 buttons with labels for the OVER_OUT_CLICK tweens i`ve designed but aparently there is some problem because the button dose not act the same the first time you go over and out as the second time
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?