ActionScript 3.0 :: Put An Extended SubClass On Stage?
May 12, 2010
I'm running into the situation where I can't instance a SubClass in the above SuperClass because the SubClass is extending from the SuperClass.
I get stack overflow. Fair enough, right?
Well, I want to add this SubClass to the display, and the only way I know how to do that is through addChild(). To addChild() I need to instance the SubClass.
I can't put any visual display instance or events in this subclass because it's currently null and extends is keeping me from doing so. It's great cuz I can share all the goods, but now I'm stuck dancing inside functions because I can't use events on the main "timeline" of the null SubClass.
I'm playing around with some classes from my Learning AS 3.0 book in an attempt to understand them. I have a main (document) class, and a class called NavigationBarXML.
Because the buttons for the nav bar are all set up in the subclass NavigationBarXML, I would like to position the nav bar relative to the stage (think btn1.x = stage.stagewidth - 50) from within this class. I understand that you cannot deal directly with the stage from a subclass and that you must add it to the display list before you can reference the stage from within this class.
How would I set up the main class so that I can reference the stage from my subclass so that on browser resize, my nav bar is positioned relative to the stage?
All my custom classes that extend MovieClip simply trace as "MovieClip" when using stage.getChildIndex(i); I'm trying to search the stage to see what objects have been placed and then add them to the correct array. E.g. if I place 5 "Enemies" on the screen, I want to then add them to an array by searching the stage for the "Enemies" class, without naming each one and adding it manually in the code.
In my flash document, I have a movieclip drawn on the flash stage (put there myself, not dynamically). I want to use this as a holder for an external .swf. I am using a sub-class to run the loading script. I pass the stage reference to it as the variable "theStage". It has no trouble loading things directly to the stage, but it can't find my movieclip for some reason. I have exported the movieclip for actionscript in the symbol properties panel and have given it an instance name.I've tried theStage.myMovieClip.addChild(mySwf); and suchlike, but always get this error message in output:ReferenceError: Error #1069: Property myMovieClip not found on flash.display.Stage and there is no default value.at MethodInfo-206()Some more information: It works from the main class without any trouble.
Is there a way to tell flash to instantiate a Stage subclass called "TheStage" instead of the default Stage class as root/parent of my document class? public class TheStage extends Stage{ //code }
Then when I do "DisplayObject.stage" I want it to return the instance of TheStage instead of the default Stage insteance. I want to do this so that I can override the addEventListener method of the Stage class. So if I call DisplayObject.stage.addEventListener I can execute my own code routine. Is that possible and how?
Can I access a static variable of a subClass' subClass? I don't want to instantiate it, just looking to get the variable because it has already been initialized by the subClass.example:
package { public class A extends MovieClip { private var classB:B = new B();
I have 1 class (that is extending a UIcomponent) that is representing a component. In that component I create different instances of another class that is also a UIComponent but this class doesn't show up in de first class. I see that it is running and that it has the correct hights but I got the feeling that it doesn't show up with this hights. If I trace I see the width and height is 200 X 200 but there is still nothing visible in my component.
Don't ask me how, but I've made my Actions Frame way too long and I can't drag it up high enough to size it correctly. Consequently, I'm not seeing the end of my code without adding a whole bunch of empty space.
I just installed flash CS5 and want to link my folder with my extended library classes so they are always linked when I create a new FLA. How do I make a permanent link? Can I also link .SWC files?
I created a movieclip and extended it with my user defined class. Now if I want to use that movie clip and use the properties from the class how do i go around doing that?
I'm creating an object that's only purpose is to hold a few other display objects, so all I need is a super class that can hold display objects. I don't want to use the sprite class because it has so many functions and properties that I don't need. if I can't use DisplayObjectContainer as a base class then what class should I use?
I've extended the ByteArray class, like this:[RemoteClass(alias="MyByteArray")]public class MyByteArray extends ByteArray {}and cloned an instance of this class using ByteArray#readObject()/writeObject(). However, for some reason, the cloned object is an instance of ByteArray rather than MyByteArray. This
is illustrated in the following example: registerClassAlias("MyByteArray", MyByteArray);var b1:MyByteArray = new MyByteArray();var tmp:ByteArray = new ByteArray();tmp.writeObject(b1); tmp.position =
I'm working with the Facebook Actionscript API (no PHP or Javascript), and I'm having trouble granting access to extended permissions, like publish_actions. I'm using the following login: var opts:Object = {perms:'read_stream,publish_actions,offline_access,user_photos'}; Facebook.login(handleLogin, opts);
I get two "Request for Permission" windows. The first says my app needs access to "Your Photos". The second says my app would like permission to "Access posts in your News Feed" and "Access your data anytime". Why can't I request access to "publish_actions"? It looks like there may be two permissions levels - regular and "extended". It looks like extended permissions may require a "scope" parameter, instead of "perms". How/where to use the "scope" parameter.
i am developing a kind of (near-)isometric engine (in Actionscript 2.0), kinda simple, which is using MovieClips as wall or floor textures.This is the Wall texture i have:This is what i would like to have:The height is always 1.5 times the width. Its a simple skew transformation.Currently i have two possibilities:I am creating the finished wall in photoshop, save the file as PNG (because of transparent areas). Because i cant import PNGs at run time, i need to create all possible textured walls. A lot of work if i have a lot of textures (Say, i have about 200? )I am importing the original Texture into Flash, and perform a free transform directly in the MovieClip. I still have a lot of work because i have to do this to each textured wall!I would like to do this transformation in Actionscript, so i could import any texture JPG at the runtime (LoadMovie) and just need to have the File names stored somewhere or retrieve them and so on.
I didnt find any possibility to perform a skew transform to a MovieClip in Actionscript..The transformation is just like this: Rotate by 45 deg. (CW) and reduce the height of the finished transformation to 1/2.i am able to apply the _rotation and _height transformations, but the second transformation is always applied to the root object, which often might be very helpful, but right now its not.
Ok, I have spent a little time searching and I can't seem to find an answer to my question, maybe I'm asking the wrong question. here's my situation:
I have a document class called Main.as, this class has variables that instantiate a CreateShape.as class that acts as a superclass. The CreateShape.as class has a protected function that is overridden by other classes (I have a CreateCircle, CreateSquare etc). Those CreateCircle etc classes, use extends to extend the CreateShape.as class, and thus have the ability to override the main method (called newShape()).
I have this problem from time to time with AS3 where I extend a Class and then try call methods and variables which are public from the new class but I get errors that method or variable doesn't exist. My IDE recognises the methods and variables though.[code]When I run the script flash hates it. I thought when you extend a class it was supposed to inherit its properties and methods?Does anyone else have these problems? I shouldn't have to cast it as Box. I swear I have this working in a project but cant see the different in setup?
I am working on a Flex project that is interfacing with physical hardware.Using the AS3 command of socket.send I can set a particular feature on the physical hardware.The problem I am having is I need access to send from the Extended ASCII codes.[code]This would be translated to me sending two numbers to the hardware.7F and 07. The Dec equivalent of these Hex codes are 127 and 7.The hardware takes these two numbers and calculates a length along with a third integer.[code]
Unfortunately the Hex 88 is in the extended ASCII table.The highest the regular goes up to is 7f which is a Dex of 127.I need the ability to send full 0 to 255 numbers in ASCII form.I can't send from 128-255 without using the codes from the ASCII extended table.I get an error every time I try to send something form the extended ASCII table back from the hardware.Can anyone confirm that AS3 does not support the Extended ASCII codes?
I have my main stage, and I have two objects (blocks), these two objects both extend from the "Block" class. The "Block" class is NOT extended from the Main Class.I would LIKE to call a function, in either the "Block" class or in it's subclasses, from the Main Stage Class. The functions will do slightly different things depending which object you are calling the function (Added different things, and different number of things to an array). What is the best way to implement this?
Why Flash creates regular MovieClip object, not instance of extending class? So, I've written a class "test" and put it into "n/test.as" file (as shown on the first attachment). Code: class test extends MovieClip { private var flag:int; public function test() { trace('!!mover constructor!!'); flag = 56; } public function Method():Void { trace('in methdo'); }}
Then I've created symbol in the library, specified it's name and linkage identifier (as shown on the last attachment). Then I've put following code to the first frame: Code: import n.*; var r = this.attachMovie('test', 'test_mc', getNextHighestDepth(), {_x: 40, _y: 0}); trace('ret ' +r); trace(test_mc.flag); trace(typeof test_mc.Method); program_mc.Method(); And I see in output panel that test class property flag and method Method are undefined for test_mc.
I've been doing the course on the flv player and found a tutorial somewhere here about attaching mc and thumbnails with a scrollbar. Now, I can't seem to fine it.Is there creating extended elements to the online tutorial like, adding thumbnails and a scrollbar for the thumbs?
Is there any way to get the mouse location (or at least an estimate), even when it moves outside of the stage area?The reason I need this is that I am trying to detect how fast and at what angle the cursor is moving, not necessarily the location of the mouse. It works fine until you move the mouse outside of the stage area, which happens a lot, and then just doesn't record the mouse location until you move the mouse back on to the stage. Impatience leads to confusion. Confusion leads to anger. Anger leads to the dark side.
Is there a way to hide properties or methods of an extended class?Ie, I want most of the extended properties and methods to be accessible but I want to hide others and use my own instead (not just overriding).
I'm having some trouble with using a Document class in Flash CS3 that is an extension of another class. When I do this, I can no longer make references to MovieClips with instance names on the stage.Here's an example. I have a class called Minigame that extends MovieClip and then a class Shooter that extends Minigame. So the relationship looks like:MovieClip <-- Minigame <-- ShooterI want to use Shooter as my Document class in the Flash file Shooter.FLA. However, when I do this, I am unable to directly access any instance names of MovieClips on the stage of Shooter.FLA from Shooter.as. In other words, if I try to write the line:var mc:MovieClip = this.instanceName;in Shooter.as, I get the error:1120: Access of undefined property instanceName.
I'm new to AS3 and I'm having a problem with an extended class that uses a URLRequest. I have a basic class called 'imageLoader' that I use for loading in external images