Actionscript 3 :: Class Instantiation From String?
Jul 6, 2010Is it possible to have a string "ClassA" and use it in order to instantiate a real ClassA in my application?
View 4 RepliesIs it possible to have a string "ClassA" and use it in order to instantiate a real ClassA in my application?
View 4 Replieshow can i get any classname from a string without instantiation ? [code]
View 1 RepliesPerformance wise, is it better to instantiate inside or outside the constructor?
Code:
public class example {
private var _mc:MovieClip = new Movieclip();
[code]......
I've been coding a bunch of movie clips as buttons (gives me more flexibility) and the lines of code is phenomenal... was wondering if i could create a template of functions, and instantiate it for each object?
ActionScript Code:
unimatic.onRollOver = function() {
unimatic.gotoAndPlay(2);
[code].......
I am trying to create a Button class in Actionscript that contains a URL variable. The URL for both buttons is changing to the URL parameter of its latest instantiation. So in this case, both buttons trace This is my Button class:
ActionScript Code:
public class NavButton extends MovieClip {
private static var URL_str:String;
[code].....
how do convert the myString var which is a string to the class name?
var myString:String = "movieClipInTheLibraryClassName"
var t:myString = myString()
How do I create a class that extends the String class?
Lets say I've created an 'exString' class that extends String.
In my project file I do the following
Code:
var test:exString = new exString();
test = "Hello World";
text.someExStringFunction();
I get a type mismatch in my "Hello World" assignment because Flash sees it as a String and not as an exString.
I am looking at the singleton design pattern and trying to really understand what is going on here. But I have some questions that it would seem my logic and/or the way I am reading this is wrong. Take the following code for example
[Code]...
What's the difference between Extends and Instantiation? It seems like they're both ways of getting content from a class.
View 4 RepliesI'm getting the following error:TypeError: Error #1007: Instantiation attempted on a non-constructor.at Website()[/Design/The Silver Collective/_classes/Website.as:42]
This is line 42:var top = new top();
package {
import flash.display.*;
[code].....
I'm gettnig the following output on the code below - Its driving me mad trying to find th eproblem..
TypeError: Error #1007: Instantiation attempted on a non-constructor.
var nc:NetConnection;var ns:NetStream;
var nsPlayer:NetStream;var vidPlayer:Video;
[code]....
I am trying to call a custom component but it keeps telling me this:
TypeError: Error #1007: Instantiation attempted on a non-constructor.
at flexlib.containers::WindowShade/createOrReplaceHeaderButton()[C:UsersuserAdobe Flash Builder 4flexlibsrcflexlibcontainersWindowShade.as:205]
[code].....
What is the difference Between Extends and Instantiation?
View 1 RepliesI wrote a script to make a random image from an array appear and float up through the stage. The problem is that at some random time in the movie, i get the error: TypeError: Error #1007: Instantiation attempted on a non-constructor. at Untitled_fla::MainTimeline/enterFrame() This occurs at random intervals. From that point on, the script stops working. There must be something wrong with the way I generate MCs from the array.[Code]...
View 1 Repliesfirst it might be valuable to mention that i have a one document class and a child of that class, which is the one im having problems with. My library objects is added to the stage perfectly, but after i wrote the last code (in bold), i get:
TypeError: Error #1007: Instantiation attempted on a non-constructor.
at Entity/moveE()
[code]...
I'm building an application where it would be sweet to use dynamic instantiation of Classes.I'm using "flash.utils.getDefinitionByName" to get this done and, if I instantiate the Class in my code once, there is no problem at all.But, I want to be able to do this without instantiating the Class at least once before I go with the getDefinitionByName method.I'm using Flash Develop and the Flex SDK, coding with pure AS3.Is there any way to instantiate the Classes only dynamically?Or, any alternative to the getDefinitionByName method?
View 7 RepliesI am just trying to explore flash by my own little cognitive thinking..
import flash.events.Event;
var slot:Array = new Array(26);
var letters:Array = ['a','b','c','d','e','f','g','h','i','j','k','l','m ','n','o','p','q','r','s','t','u','v','w','x1','y1 ','z1',"hypen"];
var posx:Number = 125.5;
var posy:Number = -47;
[Code] .....
And the error is pointing in this line of codes:
this[getChildByName(letters[rand]+counter)] = new this["mc_"+(letters[rand])];
import flash.events.*;
var cloudInstance:Cloud = new Cloud;
this.cloudInstance.x = this.hero.x;
this.cloudInstance.y = this.hero.y;
[code]....
I instantiate my Cloud class that has that name from the library and exported for AS.I give it the x and y positions of another mc
I found two difference that I feel might be important:
-If I decide to put the variables within a constructor, then I must have an object parameter for any function that wish to alter the variables, even if the code is internal to the class.
-Subclassing would cause the variables to not appear, something that causes problems when the class and any subclasses must have the variables in order to operate properly.
I am instantiating the 'Target' object five times on the stage. This is happening, but only one object is able to have hitTestPoint performed on it. Can anyone help as to why this is happening?[code]
View 1 RepliesI've just migrated to AS3 and am trying to get my head around how to instantiate library symbols as instances of a class.Here's the problem: I'm making a tile-based game with a Map object to which are linked many Tile objects. Now while I initially create blank tiles, I later want to populate them with terrain. This operation will change thus the tile's _terrainType property. Finally, I want to then draw the map consisting of its many tiles. Tiles without a terrain type will remain plain vanilla, but those that have terrain types specified would obviously appear different.
Now the Tile object itself extends Sprite, so it is a DisplayObjectContainer (k, no problems there). My question is, how do I now either a) directly assign it a library symbol graphic,following it's instantiation (if this is even possible?) or b) dynamically use addChild() to add a library symbol graphic of a certain classname (my preferred tactic)? The problem is if I have to do something like this...
Code:
var tileImg:MovieClip = new mountainTerrain();
addChild(tileImg);
then I have to write a bleedin' huge switch() statement to reference a hash table which specifies which terrain type refers to which symbol class type, which is just ugly and crap.The most logical thing to me would seem to be something like this...
Code:
var tileImg:MovieClip = new eval(classname)();
addChild(tileImg);
...but clearly I'm misguided because eval() doesn't even exist in AS3 and I have attempted it's equivalent with no likelihood of success.How do I dynamically add a graphic to represent each instance of my Tile class?
I have an image gallery with thumbnails and a previous button and next button. "nextPrevPosition:Number" starts out with the value of 0 and increases or decreases by 1 every-time the previous or next buttons are pressed. The thumbnails assign a value when those are pressed:
Quote:
private var nextPrevPosition:Number = 0;
private var currentPort:MovieClip;
private var POSITION:Array;
[Code].....
all works fine except when NextPrevPosition reaches the original value 0...and this is when I get the error message. It looks like the line "currentPort = new(POSITION[nextPrevPosition] as Class)(); is when it is happening.
After a couple of hours of looking into a weird 1007 error i give it up. I hope you guys can help me with the Error #1007: Instantiation attempted on a non-constructor error i have.The problem seems the creation of the laughing man icon instance.[URL]..
View 1 RepliesI've been having a problem that I have not found a good solution for. I think this is a problem related to the Flash Player's architecture so an experienced eye here would be welcome.
Imagine you've got 3 symbols in the Library and create instances of them by dragging them onto the stage. Each object is linked to a class. Let's say the object classes are named ObjectA, ObjectB, ObjectC. Their stage instance names are objectA, objectB and objectC.
The classes of these objects reference stage instances. For example, ObjectA might have a reference to ObjectC, like this:
var _objectC = MovieClip(root).objectC;
ObjectC might have a reference to ObjectA, like this:
var _objectA = MovieClip(root).objectA;
It sounds like this should work but it doesn't. When the SWF is published, objects on the stage are instantiated in the order that they were dragged from the Library. This means if objectA is instantiated before objectC, it's reference to objectC will return null and the code will fail.
I know there are ways around this, but I'm trying to come up with a solution that doesn't involve the document class, a helper class like a singleton, or instatiating objects with addChild().
It seems that the only way you can be absolutely certain that all the objects have been instantiated is on the first frame of the movie. So I've been using a system that adds an enterFrame event listener to just get references of stage objects when the first frame runs, like this:
function findStageInstances(event:Event):void
{
var _objectA = MovieClip(root).objectA;
var _objectB = MovieClip(root).objectB;
[code]....
(Note: The ADDED_TO_STAGE event won't help in this case because objects are added to the stage by the SWF based on the order they were dragged onto the stage from the Library.)
Having a bit of a problem creating an instance of an object. Bear in mind that this is timeline based and NOT an external class¦
[Code].....
Everything runs fine until the 'new_foo = new foo();' bit, at which point I get the #1007 error.
I have been working on resolving a TypeError: Error #1007: Instantiation attempted on a non-constructor in Flash CS 4 / AS 3.0 .I decompiled a file for a client because the original developer did not leave the .fla file.... so i am stuck with a bunch of weird syntax and playing guess ...Here is the Error message in its entirety :
TypeError: Error #1007: Instantiation attempted on a non-constructor.
at VidPlayer::UtilMethods$/createTextFormat()
at VidPlayer/loaderInit()
Here is the script in VidPlayer.as :
package VidPlayer{
import flash.display.*;
import flash.text.*;[code]..........
Code:
package
{
import flash.display.Bitmap;
import flash.display.Sprite;
import flash.geom.ColorTransform;
Using this as the document class for a separate fla file, i'm getting this error when the movie is exported:
TypeError: Error #1007: Instantiation attempted on a non-constructor.
what i'm trying to do is get a movie to duplicate movieclips when the original movieclip is dropped onto a target.what it does is,
1. click, drag movie clip to target.
2. drop, released.
3. duplicate movieclip appears in the ORIGINAL position from where the original movieclip was picked up.
4. and keep the dropped movieclip in place.
i don't know why i get,
TypeError: Error #1007: Instantiation attempted on a non-constructor. at Untitled_fla::MainTimeline/dirt_UP()
Code:
function dirt_UP(e:MouseEvent):void{
if (e.target.dropTarget != null && e.target.dropTarget.parent == this.shirt){ e.target.stopDrag();
startX = e.target.x;
startY = e.target.y;
[code].....
I have three classes with names like
-enemy1
-enemy2
-enemy3
and an array enemyIndices = [1,1,2,2,3,1,2] or something like that. Is there any way to compose the class names on the fly so that I can write something like [code]
I have 52 symbols in my library each with class names Symbol1, Symbol2, Symbol3, etc. I want to create an array of these classes which will be used to create a random particle effect. How do I cast the var cardNumbers so that the array looks like this[code]...
View 1 Replies