ActionScript 3.0 :: Array Items Called As Functions?
Oct 26, 2009
How would I go about evaluating an array of strings as function calls?Something like this:
ActionScript Code:
var my_mc:MovieClip;
var myArray:Array = new Array("function1()", "function2()", "function3()");[code]....
I get an error "Instantiation attempted on a non-constructor".In this case, I'm trying to dynamically add linked movie symbols from the library. Perhaps I'm going about this the wrong way... ?
This probably is not possible however its worth a try! Would there be anyway to trace out the functions that are being called by the SWF? for example.[code]I know you could simply add a trace into the actual functions but thats not an option!
Is there a way to do that without using a bunch of "if" or "switch" statements, like shoving them all in an array?I have a rough idea of how it would work, but I have no idea how it would look in code.And just to clarify,I mean an order than can be changed.Otherwise I wouldn't need to think about this at all.
I have a function that I want called when different mc's are rolled over.
img_hover = function (n){ _root.icap = _root.i+(eval(n))+_caption;[code].....
The "n" is an interger (ex. 1-200) that I need passed to this function with the rollover of an mc:
on (rollOver) { _root.img_hover.apply('1'); }
I can't get this to work. I'm not sure of the proper way to pass the n value to the function in the img_hover.apply() code.The function should produce the following (ex. with n=23):
img_hover = function (n){ _root.icap = _root.i23_caption; _root.idate = _root.i23_date;[code]...........
Imagine I have Class A that is listening to an Event on Class B. This listener will call Method X in the Class A. Inside Method X, "this" refers to the Instance of Class B, I'm not in the context of Class A. Isn't this a bit awkward, or am I getting everything wrong? Is there a way to make the listener call my method in the context of A?
I currently have a class that has a method that creates new duplicates of a clip on the screen, changes some of their properties (such as color, and text display), and then arranges them in a straight column.Inside that method, I have some clipEvent Statements for each button.
I have an issue with my videoplayer i can't seem to fix. When the playVideo functions is called I need to pause the music player.I tried some possibilities but flash keeps giving me an error.what I need to add to pause the music player when the video player starts and let the music continue when the video player closes ?
var my_songs:XMLList; var my_total:Number; var my_sound:Sound;[code]....
I have 2 functions. Each one is being called by a different event listener. Both event listeners work because I am able to trace strings in both of them.. my problem is that i am trying to create a variable that is local to both functions. The first function "working" adds a number to the variable and when the second event listener triggers function "notworking" which retrieves this same variable called "counting" both functions are called automatically by event listeners.. how do I do this? i am stomped!
I started making my first complex game and ran into a problem that made me just stop everything I was doing and I have laid the project to rest until I can find out how to fix it.The problem is simple. I have a timer in a public class. The timer is private, but the function to start the timer is public. Only one class calls it. But as soon as the program starts, the timer function executes.Now that aside, why are some public functions being called at the time of the program being executed? The class that executes the function isn't even called until later/instantiated.
I have a MovieClip called item with the same linkage set and my first task is to display 10 of these items on the stage nested inside a movieclip called MainItem. I have dragged MainItem to the stage and have the following for loop:
in my application, I did some trace statements of a file For example if(oldFile.parent.toString()!=file.parent.toString()) There are some other file print statements , and it seems to encounter this error stated below. But the error does not appear every time. For example i ran my application for 20 times, it will encounter this error once. Error: Error #2037: Functions called in incorrect sequence, or earlier call was unsuccessful. at Error$/throwError() at flash.filesystem::File/resolveComponents() at flash.filesystem::File/get parent()
I have some code that is connecting to a radio stream and it playing the music. That much works... I also have a little dropdown box which lets the user switch the stream... Whenever I try to switch the stream, I'm getting this error...
Error: Error #2037: Functions called in incorrect sequence, or earlier call was unsuccessful.at flash.media::Sound/flash.media:Sound::_load().
Code: private function changeStation():void { sound.close();
I have tried to modify that block of code, but I can't seem to get anything to work...
i am learning to work with sharedobjects in flash mx, and i am trying now do to a little application, and in this application i will use a listbox to do some things, i have a message board that will keep the messages in the sharedobject named "visitas", i add data with a function, ,here it is:
function salvaMensagens(){ var num = Number(_root.entradas.text); visitas.data.mensagens[num] = _root.mensagem.text;[code]....
it had to add the name digited in the input text field name, and the same with the email, respectivelly , label and data, but my listbox is still empty after several tryes..
I am working on trying to collect data within an array (which works) and this data is collected when a button is pressed or selected. I also want the ability to remove an item from the array if the button is pressed again. Currently, I have these buttons dynamically generated and everything works well. The buttons have ids applied to them. SO what I am trying to get working is, if I select button 0, 2, 3 (0 indexing), the data array created holds [A., C., D.]. I want to remove A. after I click button 0. Instead, it seems to cause problems. What I am doing wrong with splicing??? trace statement:
A. items so far selected selected items are: 0 A.,C. items so far selected
I'm so proud of myself. I figured this out all by myself and thought I would share. (If you can't tell, I'm new to AS) I needed a way to grab an item in a specific location and have it return an array of items. Here is how I did it:
The code I'm building creates two MovieClips on the stage, in one it instantiates several text boxes and in the other some buttons.
What I can't do is access data from the text boxes (e.g. textField.text) for use in the functions called by the eventListeners attached the buttons. I had the system all working nicely before I placed the text boxes and the buttons on separate movie clips.but this structure makes it much tidier to refresh the text I'm using.The button functions are fine with variables created prior to the building of the text boxes.
Am I failing to address the text boxes correctly (because they're on another movie clip) or is there a stage / movie clip property I need to set so they can see each other ... or is this something else altogether?Could it be that the buttons are created before the text boxes?
I am attempting to place an animated "block" wherever its defined number is called in the array. However, the movieclip, instead of placing 1 mc at each instance, moves the moviclip to the last position called any graphics drawn using action script I can spawn in multiples.
ie:
ActionScript Code: //5 symbolises a movieclip block var newPlacement;
I'm trying to create an array, and this is the code I'm using: Code: function create_spiral(len, rad, turns, num, theArray) { theArray = []; var inx = len/num; var iny = ((360*turns)*(Math.PI/180))/num; var inz = iny; [Code] ....
And I'm calling it with: Code: create_spiral(200, 10, 3, 100, points) ideally, I would then have an array, called points, which would be full of numbers. But when I run a trace it shows as undefined.
The code below adds all the childrens of specific movie clip to the array called arrayBox. The next loop SHOULD loop through all the items inside arrayBox and check if any of those items (those items are all movie clips) is colliding with movie clip which isn't in array called avatar. If so, it should pop up the output and change some variable, but the point is that something with second loop is wrong...
I'm using an onLoad function (importing variables from a text file) and I'm creating arrays within a for loop in the onLoad function. I'm using something like this:
Code: this["dvdAry" + i] = this[indexAry[i]].split("##"); So say the first array is called dvdAry0 .
How can I access that Array from a function? Please note the function, the onLoad function and the arrays are all being created on the same timeline.I've tried tracing the array dvdAry0 from the function after the array is created in the onLoad function, but it comes up as undefined. Is the array created on the object that I'm using onLoad on?I'm using a loadVars Object called loadDVDsText.
I have an array that contains movieclips. All of the movieclips have te type and they are all positioned on the stage next to eachother.
Above the displayed movieclips i have 3 buttons, each simbolizing a type, what i want to do is: i click on one of the buttons and all of the movieclips that dont match the right type should be removed from the stage, the remaining movieclips should then tween so that they are next to eachother again. If i click the button again then the movieclips should be displayed again to where they were and should all be positioned again next to eachother.
I'm a bit green when it comes to code and I have a specific thing I need to do which has had me going round in circles (no laughing at the back!). It must be pretty simple but I'm stumped! Basically I have 6 movieclips on the timeline with instance names 'btn1', 'btn2' etc to 'btn6'. These movieclips have an "on" and an "off" state (frame labels)
I am undergoing some experiments on creating object arrays before I attempt to implement it on my main flash document.
Ive created an object array with 3 variables, and im attempting to change the values, then trace the values back to see if its working. Ive tried many things but I keep getting [object: Object] back in the output window.[code]...