ActionScript 2.0 :: Specify Object Name Instead Of Instance Name?
Feb 22, 2009is there a way to specify an object by the objects name as opposed to the objects instance/variable name?
View 10 Repliesis there a way to specify an object by the objects name as opposed to the objects instance/variable name?
View 10 RepliesDoes creating a new instance of an Object that uses an identical name to an older instance, delete the previous instance? Or should the original instance be deleted first? The code uses a ridiculous amount of XML vars. Isn't it less memory intensive to parse the XML and save the properties to an Object, and then delete the XML Object, rather than keep the XML Object around and reference it's child nodes directly? Is it better form to break up a huge XML file (>600lines/3200vars) into smaller chunks?
View 1 RepliesI am wrapping my brain around OOP in AS2. I am making two posts on two different subjects. My question here is: when should I use local instance variables, and when should I attach new properties to the instance object? (Feel free to correct my terminology.) Let's say I have a class for a scrolling background, which scrolls when I mouse over its edge. I want to put these values somewhere:
1) How wide is the border in which a mouseOver makes it scroll? This is basically a semi-constant I set it up once and keep it the same, unless the user changes it in an options menu to make the border wider or narrower. Call this scrollBorderWidth.
2) How fast is the background scrolling now? I want to track this so I can smoothly change the scroll speed over several frames. This is often changed. Call this scrollSpeed.
It seems I have two ways I can store and access these values and darned if I know which is better practice. METHOD A: Make them local variables in the class, so the scrolling background instance has them as local vars. I set them up thusly:
[Code]....
I need to find an instance of a movieclip that is on my flash file. It is really big and uses a lot of memory. It says on the number of times used that there is one instance of the object on the flash file, but I can't find it. I thought I deleted them all but there must be one left. How do I go about finding it? It's a really large flash file with many layers, and I don't want to just delete the library file. Is there any way I can find where the object is placed in my file?
View 2 RepliesI'm using a class called TransformTool (url...)
Using this class its possible to selec, move, rotate and resize the objects.
But, the problem is that their names need to be previosly declared like[code]...
If I pass a MovieClip through as an argument in the constructor for a class I am writing, how do I create a new instance of that MovieClip from within the class?
The MovieClip has a custom class name that is unknown to the class I am writing, it is simply passed through as a MovieClip.
I tried:
Code:
_class = Object(mc).constructor;
_mcArray[i] = new _class;
I posted this in Flash General Discussion but it's probablymore appropriate here.If I use the following example code (in Flex):
function test():void
{
var img:Image = new Image;
[code]....
I have a graphic or movie clip as an example which is a water bottle. An what I wanna do is that depending on what is the user response, in my case is how long the person is doing some activity, depending on that I want flash to generate a number of graphics/movie clips on the screen. As example the person says that takes 6 minutes doing "x" activity, so as a response of a button click which says "generate consumption", it generates on the screen how many water bottles he has consumed for that range of time doing that activity, for example each minute is 2 water bottles, so it has to generate 12 water bottles on the screen when the user press "generate consumption".
View 1 RepliesI have a variable named "type". And I want to instance an object with the name of the value of type. Here is an example: var myObjectName = "ball"; var object = new ball(); //Except I want to use the value of myObjectName. I believe this used to be easy with AS2 when using _global, but I'm not sure how to do it in AS3?
View 1 RepliesI created four instance of movieclip on stage and named them t1_mc,t2_mc,t3_mc,t4_mc. Then I made and array and loaded them inside the array
var arr1:Array = new Array( t1_mc, t2_mc, t3_mc, t4_mc );
var names:String;
//function made to add event listener to each object
function addListner():void {
for ( var i:uint = 0; i < arr1.length; i++ )
[Code] .....
removing object instance from memory.I have created a class that move objects(movie clip) on stage. and on fram 1 i created 100 instances of this class using loop. now when user click on movie clip it should be remove from stage as well as from memory. using removeChild() it is removed from stage but it is not removed from memory. for testing i use initialy only one instance to check my code and when click it is removed from stage but not from memory. here is the code
// this code is on frame 1
function move()
{
[code]...
i used delete and assigning null and GC but nothing works. any one who knows how to remove the object instance from memory I applied every thing but object instance is still in memory (because there is a trace in fall class which continuously running and i guess the object still exist in memory)
I`m having a silly problem with adding instance of an object to the stage two or more times. For example, this don`t work:
Code:
var temp0:SomeClass = new SomeClass();
this.addChild(temp0);
this.addChild(temp0);
Well, I know that one instance is one instance and two objects of the same class on the stage would be two instances, but still, it is what I need.
is it possible to dynamically change one instance of an object without effecting the others? I've created an input text field in the library and when the user hits the "add text" button, it adds an instance of the input text field to the display list. They can then format the text how they wish (color,alignment,etc..). When they hit the "add text" button again, a new instance of the input text field is added to the display list, but when they try to format the new input text field, all of the fields are effected. How do I get around this?
View 2 RepliesI mean the value returned by:
trace(e.target.name); (tried on a MouseEvent object)
or
trace(myTextField.name); (on a textField object).
In my Flash application, I notice that tracing the name of an event object returns "instance26", indicating that this is the 26th (or 27th depending on the base of indexing) object created since the app initialized. Basically what I'm curious about is, firstly, is this instance value subject to change when the app is ported to other platforms (if different versions of the Flash player process instructions in a different order or fashion) and secondly, how can I find what object contains "instance0" or (if the instance indexing begins at base 1), "instance1"?
i'm going in trouble with instance names, classes, methods, and addChilded object...
that's my code:
- i have a class that (everytime the function is called by the timer) add an object(class "Monster") to the stage.
[Code]....
I also tried to avoid the problem changing my point of view; so i inserted the hitTestObject test into the loop for each ( var enemy:Monster in army ) but the same problem occurred, i have a lot of balls that doesn't have an instance name (or they have all the same one).
This is what i created until now [URL]
I am trying to make the instance 'red' be removed when all 3 objects have hit it here is my code:
var hit = 0;
addEventListener(Event.ENTER_FRAME, hittest);
function hittest(e:Event){
addChild(blue);addChild(green);
addChild(pink);
addChild(red);
[Code] .....
Is it possible to control an object/element on a instance? If so, how is it done through actionscript? There is an instance "instance140" off of the root, that has an element named img4 that i need to reference... does anyone know how I would go about that? using root.instance.object form returns undefined.
View 1 RepliesHow can I instantiate another class object from a class instance? In the code below (which doesn't work) I'd like the function to return a new class instance based the passed argument's class. In other words, I want the function to return a new instance of MySprite without having to call new MySprite();.
var mySprite:Sprite = new MySprite();
var anotherSprite:Sprite = makeAnotherSprite(mySprite);
function makeAnotherSprite(instance:Sprite):Sprite {
return new getDefinitionByName(getQualifiedClassName(instance));
}
I'm trying to turn an string into an instance name.
stage.focus = ["box_"+[i+1]];
this gives me back = box_2;
but I need it to be an object not a string.
In as2 I could use eval. How do I do it in as3?
Scene 1, Layer 'auto button', Frame 1.The instance name 'semisideview' is declared on an object of type flash.display.SimpleButton but there is a conflicting use of the instance name 'semisideview' on an object of type flash.display.MovieClip.
View 1 RepliesI've got a frame of code with two boxes on the stage. If you click on of them, it runs this code:
ActionScript Code:
charSelect=1;
And if you click on the other box it runs this code:
ActionScript Code:
charSelect=2;
Now, on my main frame of code, I've got an init() function which runs all the initialise commands. It includes this:
ActionScript Code:
function init() //Loads assets to the stage and starts animations {
if (charSelect == 1) {
character.addChild(character);
} if (charSelect == 2) {
characterFemale.addChild(character);
}}
These functions basically let you select which character is loaded to the stage with the instance name 'character'. All my control code is written in relation to the instance name 'character'. However, after I've clicked the box which selects which character to load to the screen, I get this error message:
ActionScript Code:
Scene 1, Layer 'Layer 1', Frame 2, Line 155 1061: Call to a possibly undefined method addChild through a reference with static type Class.
Is it possible to control an object/element on a instance? If so, how is it done through actionscript?There is an instance "instance140" off of the root, that has an element named img4 that i need to reference... does anyone know how I would go about that?
View 0 RepliesCode:
for (var i=1; i < 13; i++) {
var box = new kutu();
addChild(box);
}
The code it adds 12 times object called "box".. but if I want different names for each object? For example make the name for each
Code:
name = "box_"+i;
I am trying to get the index of an object which is an instance of a class. I need to get the index from within the class.So I have an instance of a class. When its clicked I need to get the index. I dont really know how to write this. I tried a few things like:[code]
View 4 RepliesIf an object, or say... a document class, creates an instance of a class (and stores it as a variable), and it doesn't pass any arguments to the constructor of the class, can that class object, by simply having a function of it called by the parent, tell who sent it that command/request?In other words, can a class object know who called it (such as it's parent) via a (seemingly) anonymous call?
View 1 RepliesI have created some (TextInput, ComboBox, CheckBox) Component instances (created as a public objects) in a Document class and added them to the stage.
Now I have created a custom class for a movieclip in library and instantiated it in the document class (also a public instance).
I need to access the component instances in the custom class. How to do this ?
Also, Is it a good practice to use ENTER_FRAME event frequently ? because if I can't access the above components instances in the custom class then I will be left with no choice but to use ENTER_FRAME event in the document class every time I need to change some value in the components...
class Foo {
public function bar():void { ... }
}[code].....
I have a collection of movieclips, I would like to create a clone (a new instance) of a instance everytime I create a new object.
For example
var s:Star = new Star(); // star-shaped movielcip
addChild(s);
// then I want to duplicate an instance of s and add it beside s
For an example like above, it's simple enough to create a new instance with a different name and just add it to the display list. But I have a list of objects I would like to clone as a group...?
Im building a shooter game where a bullet is call from a class and the enemy is also called from a class.I cant make them collide. In order for stuff to start exploding.I have already tried two collision detectorsI keep getting this error
Code:
1120:Access of undefined property nBullet
Code:
[code]......
I happen to have this real massive code for an object in my game.(please guys dont move this to the game section the problem has hardly anything to do with that) One of them is a propane tank, the other a box and the third is a barrel.(it doesnt really make much diff i just want you guys to get a better picture of whats going on)So inside of each movieclip i put in this MASSIVE code.
ActionScript Code:
onClipEvent(load) {
var right:Boolean = true;
}
[code]....
it works fine but when i put in an instance name the whole thing messes up.only one of them works and all the others follow commands from the same one. so lets say if presse is true for the working on, presse will be true for all the rest. The problem still happens if i use different combinations of objects like 3 crates or 1 propane tank and 2 crates. Can someone please help me find a solution without changing the instance name. By the way '_root.hater' is the character.