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 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 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'm making a flash movie (in cs4 as2) with some textboxes that should enter the stage when a button is being clicked. I have made one box that works the way it should, and now I'm about to make several boxes that looks similar (different size/different text though). Is there an easy way to make a copy of the finished textbox, or should I duplicate every object in it to make new ones?
Is it possible to make my CD copy protected?? So that nobody can create duplicates from it.
My CD contains the main installer that copy all my .swf and main .exe projector file to the hard disk of my client's computer. I am going to create 1000 copies of this project. But I just want to be safe that nobody can duplicate my CD. Is it possible in actionscript 2.0 or any other tool that works for me..
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 a symbol that I have already used and I would like to use the same symbol in another frame(s), except that when i edit the symbol the original object also edits, for example if i delete a part of it, it also deletes in the object that I have already placed, I have tried the 'duplicate symbol' method but nonetheless my symbol still gets modified and changes the way I want it to show it in certain frames.
Is there a way to programmatically set flash to make sure it is the most updated copy of the swf? Let me see if can be clearer as I really don't know how to ask. Say I am building a movie and I just changed it, I open my browser and see the old version. I have to clear my cache to get the updated version. Is there a way of making flash "clear its cache" so to speak? I tried googling "SWF updated ActionScript" or variations of that, but calamity ensued.
Is it possible to make my CD copy protected?? So that nobody can create duplicates from it.My CD contains the main installer that copy all my .swf and main .exe projector file to the hard disk of my client's computer. I am going to create 1000 copies of this project. But I just want to be safe that nobody can duplicate my CD.
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.
I have inherited a Flex air project and have not worked with trees before. The tree is displaying an xml file hierarchically. The user can make a change to the data. I need to save the data of the entire tree to a file.I can save the currently selected item to a file, no problem. But I need to save all the data from the root of the tree, forward.I would think I could make a copy of the tree, and set the selected item of my new tree to root, or something. Sort of like this pseudo code:
var treeToSave:Tree = new Tree (editedTree); treeToSave.selectedIndex = 0; // now save treeToSave to file...
This creates a compile error, but hopefully you can see what I'm trying to do.
A web channel streaming service streams to a certain IP range, it only checks the IP in example.com/cmd.php?id=xxx (channel number) and outputs an rtmpe stream URL, nothing else.How do I trick it to get my local URL instead of the one on their server? I have considered squid proxy, but is there some way to do it with a firefox plugin or greasemonkey script?
Edit:I will try to specify:It's a streaming service from an ISP and cable provider. They stream for free to people on their IP's. On their webtv page, which is called webtv.example.com, there is a flash player. If you are not on an IP from their ISP, you can't stream anything but the test channel.When you try to change channel via. javescript:videoplayer_changechannel(xxx) it makes this HTTP request:
[URL]
If you are on one of their IP's you will get an RTMP URL, like this:
[URL]
This is what the flash player requests, and if it get's this response it load the channel requested. There is no HTML on the php page, just the URL. Note that the rtmp URL is static.If you are not on one of their IP's it will return a random sentence (something stupid, the programmers having fun).I wan't to trick the flash player into getting the right value, even though it's not on one of the ISP's IP's.
I'm trying to make a copy of an array filled with Canvas objects. I use this code:
arCopy = ObjectUtil.copy(myClass.myArray) as Array;
What I get is an array arCopy filled with Objects instead of Canvas. Each of these Objects has propersties suggesting that it was Canvas (like uid="Canvas333" or name="Canvas333"), but it's instance of Object class. I've been using ObjectUtil.copy() before but never seen such behaviour.
I have this information that is pulled in from a PHP database and displayed in a textfield within flash which works fine BUT when I go to copy and paste that text into another textfield (a note facility) it then means I can't make a line break. I've tried all sorts with the text field and can't see any reason why it wouldn't allow it. Is there something about different text formats that mucks it up?