ActionScript 3.0 :: Deep Object Copy - BCopy Object Does Not Contain Body Property?
Mar 24, 2011
I found a really weird behavior when using deep copy for objects (ObjectUtil of Flex framework).Imagine we have a class B which extends class A. Class A has property body which is of type ByteArray.I create object b (instance of B). Then I make a deep copy object bCopy, BUT this bCopy object does not contain body property at all! All others properties (of scalar types) defined in Class A are copied properly.When I define property of type ByteArray directly in class B, then this property is copied properly..
I've been starting to create my own classes for a project and I've encountered an error that I don't know how to solve. This is for a Game class collection.
How do I create an object with ActionScript if I only know the name of it? I have a class that should add an object as a "grid" and place it accordingly, so if I have a Square box that I want to place by 4x4 on the screen it calculates it automatically. Well, that's the goal anyway.
I have a function in my Grid class, Add_Background that accepts an Object to be added as the grid background. I use a movieclip (don't know if I can use a graphic element).
I call the function myGrid.add_background("name_of_my_movieclip") or myGrid.add_background(new name_of_my_movieclip());
The first one I don't know how to use, I don't know how the syntax for creating an object this way (etc: grid[a][b] = new name_of_my_movieclip() doesn't work...) so there has to be some other kind of way on how to pass this to the function and that it knows what to do with it.
The other thing I've tried is passing the object to the function (new Grid_Background() etc) but I can't clone the object anyway I try it and the ActionScript reference site says there's an mx.utils.ObjectUtil that I can use for this, but I have no access to it that I know of (tried it).
I have made a image gallery in xml. where i have a main.swf which loads thumbs.swf ( thumb comes from xml file).when i click on thumbnail it loads a slide.swf file.where i have 2 buttons next and prev.next button loads the next swf.prev button loads the previous swf.i want a unique url for each swf loads from xml in next and prev button..i tried a lot by using swf address and swf object for deep linking.
I have an object which is assigned a number of properties:
var project_array:Array = []; var slideObject:Object = { project_title : myXML.projects.project[i].title.toUpperCase(),
[Code].....
but I'm not quite sure where to place this. If I place it outside of the object constructor, I get "term is undefined", I guess because it doesn't know what project_clips_array is - but if I declare project_clips_array in the constructor, it appears to need to be defined, i.e. I can't create a blank property. But I can't place it in the constructor either, because it doesn't seem to allow me to run a function within an object constructor. What is the proper syntax or arrangement of code for executing this function to get the array within the object?
What I should do is parse an xml and from its node name create object property and then create an object array based on those property. Am I able to make myself clear.
I have problem with accessing object created by function imported from another package. I have 2 packages DragDrop and UserInterface. In UserInterface I create methods for buttons and later add them in DragDrop . I make it in two different ways: One(this one works):
I'm having trouble making a copy of objects in AS3 instead of making references.
eg.
var mainMovie:MovieClip = new MovieClip(); var copyMovie:MovieClip = mainMovie; copyMovie.x++;
I don't any calls on copyMovie to edit things on mainMovie. I was reading that I should try implement a clone method on the objects I want to copy. Surely there is an inbuilt way to do this for most objects.
I know there are a million and one posts about how to copy a MovieClip object, and I'm fully familiar with the method of[code]...
For this reason I can't use the original.constructor job as flash obviously thinks it's a straight MovieClip, so I just get an empty MovieClip. So far I've been getting by with creating a Bitmap, but in future these swfs will contain animations too.
Given a very basic xml structure and a generic Object declaration with a property already defined (location), how can I add the nodes of the xml structure (id & name) to the object's properties without statically referencing the names of the nodes?[code]...
hey, I was wondering if there's any way to push a copy of an object onto an array without having to create a seperate variable for each object.
For example- in c, i'm used to doing something like having a 'temp' object- and then in a loop i would set the value of the objects members and push it on to the array (vector). If i try to do something like that in flash though, it stores a reference to that object in the array, so every time it changes every new element in the array changes to have the latest values of the temp object.
Without using as2.0 classes (i.e. just mx style) is there any way I can get the effect i'm trying to get here- just have one instance of an object that i can redefine in a loop and push a copy of it into the array so that i wouldn't have to declare a separate variable for each one which would defeat the purpose of the array.
In the code below, i create an object and stick it in an array, then I make a duplicate of that array. I loop though the duplicate and change the value of one of the props of the object in the duplicated array. Doing this however unintentionally changes the prop value of an object in the original array. I'm assuming that the objects in the duplicated array are mere references to the objects in the original array. Is this correct? And if so, how do i make unique copies of those objects in the original array, so that changes made to the objects in the new, duplicated array are exclusive to those objects?
I know that i could probably make a new object when duplicating the array, and then recreate each prop, assigning values from the original objects.. but this is a simplified example. The project im working on has many props for each object, so, id rather just make copies if at all possible.
Code: var testObj:Object = new Object(); testObj.prop1 = "hello"; // var testArr:Array = new Array();
push a copy of an object onto an array without having to create a seperate variable for each object.For example- in c, i'm used to doing something like having a 'temp' object- and then in a loop i would set the value of the objects members and push it on to the array (vector). If i try to do something like that in flash though, it stores a reference to that object in the array, so every time it changes every new element in the array changes to have the latest values of the temp object.
Without using as2.0 classes (i.e. just mx style) is there any way I can get the effect i'm trying to get here- just have one instance of an object that i can redefine in a loop and push a copy of it into the array so that i wouldn't have to declare a separate variable for each one which would defeat the purpose of the array.
I am trying to store my Application.application.parameters to my local variables For example: var myVar:Object = Application.application.parameters; So here is the tricky part, is I do ObjectUtil.toString(myVar) I can see all the values and properties. However if I do myVar.clientName or any other properties I always get null or undefined.
I have been trawling around forums for hours now and the only was to save information LOCALLY in Flash seems to be using the SharedObject stuff. which is fine. BUT I am making a project which is meant to be entirely run from a memory stick i.e. portable. So, I was thinking it would be good to save the information from the flash to a SharedObject .sol file and then to copy the .sol file to the memory stick, then load the information back into the flash file from the copy of the .sol file on the memory stick!
Dont know if this is possible, but I need to some how save information created in the flash file stored on a memory stick (which will be text and possibly an image which would be loaded from the users pc) to a file on the memory stick and then next time the flash file is run, load all of the information back in!
I know all this stuff is possibly using PHP etc. but as I am running it from a memory stick on a pc which probable wont have internet access.
So I have this Photo class than handles loading a pic, and dispatches an event when the loading is done with:[code]which is simple and works, but now I'd like to make something more advanced. I'd like to dispatch the load ratio.So far I have extended the Event class, with my own EventRatio class, and I can put properties on that class. Which is cool, but I need something more dynamic than just sending a fixed value.So, what is the best way to connect the Loader object of the Photo object, with the EventRatio object?
Is it possible in actionscript to get and set an object's property eg I have an object called arenaWorld and I wish to get and set just one property to get and set an object's property the singer's song. public function get arenaWorld.singer.song():String
There is a function that receiving value of String = 'propertyName', wich is property name.and i have an Object item with property of name equals to 'propertyName'.How do i get item's value of that property?ObjectUtil.getClassInfo(item).propertiesreturns an Array of item's properties, but is it an easier way to get it instead of searching trough Array?
My problem is to find out the object which owned my property... for example: My Class : public class MyClass{ var myGroup:Group; //Spark Component ..... }
Now, I add my Group to another UIComponent. Next step in Class XYZ I wan't to get my MyClass Object ... but I can only see the var myGroup public class XYZ { ... public function getObject(group:Group):MyClass { return group.????; } ... }