ActionScript 3.0 :: What Is Mean By Super And How To Use
Apr 5, 2010What is the use of super function and How to use it?
View 9 RepliesWhat is the use of super function and How to use it?
View 9 RepliesIs it possible to call a method in the super class of a super class? I tried the above and it doesn't work, unsurprisingly. Only way I've been able to do it is to store a reference to a super.someMethod in the super Class (eg. var superMethod: Function = super.someMethod) and call that instead. Seems reasonable and it works but wonder if there is an in-built method for doing this?
View 6 RepliesI am trying to create a spark datagrid item renderer. This item renderer extends a checkbox, and implements IGridItemRenderer public class CellCheckBoxItemRenderer extends CheckBox implements IGridItemRenderer
When I implement IGridItemRenderer, I need to implement the interface methods, I am having a problem with the following methods:
[Code]...
I am trying to extend the new AutoComplete component from Adobe. In two different places I need to bypass the AutoComplete methods and get right at the ComboBox methods.
I was told that super.super.someMethod() works just like it does in Java. But I keep getting Compiler errors:1084: Syntax error: expecting identifier before super.Any suggestions other than just cutting and pasting the code and extending the AutoComplete superClass?
There is no property with the name 'super'.
more specifically
Code:
**Error** C:Documents and SettingsMetjuDesktop\_GENERAL FLASHflashcommetjuphysicsVector.as: Line 41: There is no method with the name 'super'.
super ( x, y );
[code]...
I tried clearing the ASO files a thousand times, restart flash, resave the Vector.as file and still nothing.
I'm trying to make a CustomLoader class that extends another class.In the contructor of my CustomLoader, i need to call super(myLoader:Loader) where myLoader is a Loader object. Problem is I need to listen to the complete event of the loader before passing it or i'll get an "Error #1009: Cannot access a property or method of a null object reference". but if i put super() in a handler function i get an "Error 1007: A super statement can be used only inside class instance constructors."
Here's part of my code:
Code:
public class CustomLoader extends ParentClass
{
...
public function CustomLoader():void
[code]...
If a constructor takes its parameters as a vararg (...) it seems to be impossible to create a subclass that will just pass on that vararg to the superclass.
There is a related question with fix for this same situation for normal functions: Wrapping a Vararg Method in ActionScipt but I cannot get that to work with a super call.
base class:
public class Bla
{
public function Bla(...rest)
{
[Code]....
Aside from actually moving the handling of the parameters to the subclass or shifting it off to a separate initializer method
i got a class(class1) that extends another class (class2)...when something happens in super class, i need to update the class1, soi need to trigger a function in class1 from class2... I know is bad programming, but is that possible? I'm confused
View 0 RepliesWhen invoking super() in my subclass, I can pass uints and strings as params to super, but passing a TextField instance that is on the stage of the library instance of the subclass fails. Why? Is there a workaround?
View 2 RepliesI want to end up with the following effect. Bitmap pencil quickly moves accross the canvas diagonally and reveals an image. The image itself is drawing so I kinda want to make the illusion that the pencil draws whatever is on it. I don't want the pencil to follow the actual line in the image just to ask like a mask and quickly reveal the picture. So I was wondering if there is any cleverer way to achieve this, instead of animating everything manually
View 1 RepliesSay I have a class B that extends class A.In class A, I have a variable that I've declared to be a function, which gets defined in the constructor. Now, in class B, is there any way to reference that function with the use of super.functionName()?
View 1 RepliesCode:
interface I
{
...
}
[code]....
Thats the schematic of my the specific area of my program thats causing me trouble. In output i get "C Called" only. I'm guessing that on the return of the super() call to A() then it jumps back to C(), but id expect that the call stack could handle multiple super calls.
I recently put together a gallery based on examples that Stringy posted here.A couple improvements have been made, there is now a forward/back button that is sensitive to which photo you're on...thumbnails appear only on rollover. Run locally, it works perfectly.But there's a problem. For this particular project, there NEED to be 30 photos loaded in to the gallery, and they're biggish, average = 130k/per. When i'm running it live, the first 15 photos work fine (using the next/button) ... but once you reach the final 20...it CRAWLS. Most browsers I've tested it on crash at 28.Now, I don't know if this is just a feature of having so many images (if so, is there any way I can make a buffer of the next 5 images preloaded, and then delete those that were cached after I've viewed them?)
View 3 RepliesDo all variables and functions in super class, that I want to access from a sub class need to be set as public?
View 2 RepliesI am searching for a super basic example of loading xml into a couple of textfields. Everything I find is way more complex, looping through huge lists and adding children etc. I have 2 named textfields on stage headline_txt and body_txt. I want to set up an xml file that has 2 items, 1 for each textfield and AS3 to load and display them.
View 10 RepliesI'm having a problem using superclass constructor with arguments. I've searched all over for the solution and found some really useful advice. Problem is i;ve followed it and it doesn't work... not for me anyway. So i've learned that you need to callthe super constructor in the subclass' constructor to avoid this error. problem is, this code still gets the same error....
[Code]...
how to write super script charectors for flash in xml
View 1 RepliesI am hoping someone can explain about subclasses accessing variables from the super class. I found that the subclass can only access variables which are set in the constructor of the super class. Is there any way around this?
[Code]...
I have the following scenario:i have a MovieClip and I created a linkage for it named A.
[code]...
what is allowed? how can I resolve the issue ? update ok this is an exact scenario but a more simple one that I still wasn't able to resolve. The original scenario is that I have a MovieClip called user_bg_me that has a linkage named user_bg_me that extends user_bg_genericthat extends 'MovieClip` inside user_bg_generic class i want to be able to modify elements inside the movie clip itself. using super.element_name provides an error that the property isn't found.
I have a Spaceship movieclip, with a movieclip Turret inside. Spaceship extends the Unit class, where I want to rotate the Turret. In my Spaceship constructor, I use super(this.turret); but this always returns null. Passing other variables works, and before calling super(), I can successfully trace this.turret So why can't I pass it to super? And how can I fix this? [edit] Perhaps it has something to do with the turret not being available/added to stage yet when super() is called? If so, how could I deal with that and get it "Unit" anyways?
View 1 RepliesI got something just like that:
[code]...
I dont know if that is normal, but this code create an infinite loop, because when i create a new instance of class Two, because of the extends, the class One constructor is called again, and creating a new instance of class Two, and so on...I know how can i get this fixed, but, what i want to know is, this is correct? Its a Flash bug? Isnt that way in AS3?
How can I apply a TextFormat to a TextField instance in a super class?
Code:
// This doesn't seem to work:
var textFormat:TextFormat = new TextFormat();
textFormat.size = 24;
super.alertText.setTextFormat(textFormat);
Say i have these two classes:
MAIN.as
package
{
import flash.display.*; import mx.core.*;
import flash.events.*; import mx.collections.*;
[Code]...
Now how is it that I can add the variable SPRITE which is a Sprite in the OBJECT_square class to the display list of MAIN class? I've tried addChild(SPRITE) and super.addChild(SPRITE). If everything works I should see a red square somewhere on the screen but right now its all blank, except for the text drawn in the MAIN class.
Basically I want it so i can just make a new OBJECT_square and it will draw itself without any more instructions from the MAIN class.
In Flex, lets say I have a super-class... something like:
class SuperComponent extends DragStack {
private var _childReference:UIComponent;
public function SuperComponent() {
// ???
addEventListener(FlexEvent.CREATION_COMPLETE, onCreationComplete);
} private function onCreationComplete(e:FlexEvent):void {
//The 'this[]' technique doesn't seem to work and causes run-time errors:
//trace("Component found: " + this["myButton"]);
}}
And then I make use of the following derived-class in my application (just a mockup MXML as an example):
<!-- Component ChildComponent.mxml -->
<mx:SuperComponent>
<mx:Button id="myButton" label="Press Me!" />
</mx:SuperComponent>
How do I go about verifying the presence of "myButton" from the SuperComponent class, and referencing it? Do I need to use getChildByName( ... ) ?
I always don't call super() when I extends Sprite.But doesn't not calling super() cause any problem?Till now, I don't have any problem and I have never seen code which call super() in constructor which class extends Sprite. How about TextField? I don't have any problem about TextField, too. How to know whether I should call super() or not?
View 3 RepliesLets say I have the following inheritance hierarchy:
Code:
Select allpackage {
public class ClassA {
protected function foo():void {
// do something
}}} package {
public class ClassB extends ClassA {
[Code] .....
Now this is all well and good, as the call to ClassC.foo() will propogate through the inheritance chain; C > B > A. But what if I want ClassC.foo() to call foo() that is in ClassA and bypass the method call in ClassB? I have tried the following:
* Cast the method to the super-class type I want to execute, but this does not work as intended.
Code: Select all...
override protected function foo():void {
// do something related to Class C
// call ClassA.foo
ClassA(this).foo();
}
I'm trying access a static variable located of a super class through an instance of one of it's subclasses and I'm receiving an access of undefined property error (example of which below). Creating another static variable in the subclass and assigning the value from the super class will allow me to dot operate to it.
[Code]....
but i realize i do not know the syntax of what i want to do. So i have an event handler and i want to do different things depending on the object type. i could do
[Code]...
Imagine I have a game with a base Entity class, with an init method that takes no arguments. Now I have a Wizard class, but I want to pass in 2 parameters, say speed and strength. In AS3 (and I believe Java and C#) I will not be allowed to do this - it is an "incompatible override" because the method signatures won't match. Now I could just make an "initWizard" method instead, but then I have the problem of the init method of each class potentially having different names. I need solutions that work in AS3, Java or C#.
View 2 RepliesI have created a flash application that runs crisp and smooth normally. However, when I set it to fullscreen using
Code:
fscommand("fullscreen", "true");
Then it runs slow as heck. My cpu usage shoots up to the 90%'s on all four cores. Strange thing is, however, that if I manually resize the projector chrome to take up the full screen size it runs smooth and crisp. It's not playing any videos or sounds, and there are minimal images. The swf file itself is 7 megs, and that's almost entirely because I have to embed the chinese alphabet. Could it be from running dual monitors? It still only "fullscreens" to one monitor's size, so I don't think its's twice the size without me noticing... I'm really not sure what's causing it, but it gets super slow...
The swf and fla files are located at: [URLs]
.fla is only 448kB, but the swf is 7megs.
Again, it runs fine when not in fullscreen, no matter how large I make the window, but if you play the swf file in flash player (i.e. not in browser) it will run slow until you press esc and exit fullscreen mode.