Actionscript 3 :: Functions That Can Receive Unknown / Variable Amount Of Parameters?
Nov 28, 2010How can I define functions that can receive unknown/variable amount of parameters?
View 2 RepliesHow can I define functions that can receive unknown/variable amount of parameters?
View 2 RepliesI have a project that uses a lot of remoting calls and I'm hoping to abstract the process. I've hit a problem with passing parameters to the final call...[code]...
I know how to loop through the ...rest param to obtain their values but I'm struggling at how to construct the final gateway.call() which could have 1 arg or 10.
I tried using var params: Object = ((this.stage.loaderInfo) as LoaderInfo).parameters; to get the parameters, but it returns an Object with no properties. That LoaderInfo will give me the correct URL without the parameters though if I use LoaderInfo.url. I'm using the request: http://localhost/foo.swf?start=foobar. params.hasOwnProperty("start") returns nothing, and using a for loop shows that "params" has no properties. How do I receive the start/foobar pair in my code? I would much prefer to not use FlashVars due to our setup.
View 2 RepliesI am having an issue with Mochiads. I have one of my Flash games on Facebook. Everything works just fine when the SWF is hosted by me. However, when I give it to Mochiads, they create a wrapper for the file, and the facebook transactions don't work. I suspect it's because of this code:
[Code]....
Facebook passes in some parameters when it loads the SWF, such as session ID and user ID. However, when the SWF looks at this.root.loaderInfo it is only looking at the Mochiads wrapper, not the Facebook canvas that loaded it. I am going to contact Mochiads and see what they recommend. I suspect it might be worth trying this:
If i have a function and im strict typing: such as
[Code]...
obviously the second doesnt work because y is a movieclip and x is a number, but i want to be able to set x to whatever type is being passed in.
how you pass and receive an array through functions in AS3? I keep trying it the same way I do in C# and it doesn't seem to work the same.Im trying:
Code:
Var aTest:Array = [1,2,3,4,5,6,7,8,9];
Testfunction(aTest);
Public Function Testfunction(aTestArray:Array)
[code]...
I've been trying to build a kind of 'weapon generator' for part of a project I'm working on but I've hit a wall. I've been using a hell of a lot of functions in my little program but for no (apparent) reason, it's generating a lot of errors.
[Code]...
I've had this problem for a while now and I've looked for a long time on how to solve it. Is there any kind of limit to the amount of button functions I can create? Do I need to tweak any AS3 settings? Does Flash CS5 despise me?
I've made an user login, working with php and MySQL. When the user logs in, he can see all of his details, loaded from a database. Here he can press a button to change this content. After changing it, he needs to press the "save" button to load the new data into the database. But everytime the user presses the save button, it's adding an extra line to the data into the database, which results in an error of displaying the data. Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0 Fatal error: Unknown: Failed opening required 'google_verify.php' (include_path='.:/usr/local/lib/php') in Unknown on line 0
View 1 RepliesI'm trying to set up some default parameters that are functions.
ActionScript Code:
public function makeButton(buttonUp:Function, buttonOver:Function = this.defaultButtonOver, buttonDown:Function = this.defaultButtonDown, buttonOut:Function = this.defaultButtonOut) {
[code].....
Pass additional parameters to this type of functions?[code]...
View 1 RepliesI like reusing functions repeatedly so I pass the object to the function (blur, drop shadow, etc.) but if an Event or MousEvent function is involved, I have to do things I don't like. In my example, I had to put the TimerEvent.TIMER_COMPLETE function as a sub function of the setTimer function. I would rather keep the functions apart but I don't know how to pass a parameter to the event function to tell it what movieclip(timerObject) to fade in. Is there a better way to do this?
View 2 RepliesI have about 10 as3 coded buttons that use the same AS3 coded parameters to control the font and filters of their text fields. I'd like to create a global function to hold these parameters, and then just call the function within each button, and then also code each button to have it's own myText.text = "blahblah"; I can set up a global function no problem using an external as file, but am having trouble getting Flash to accept the parameters. For example, the following parameters work fine when used within the text fields of the buttons, but as so as I try to put them in an external global function, Flash doesn't like the parameters being external:
[Code]....
I am currently doing something like this:
myFunc(tracer);
function tracer(message:String):void{
trace(message);[code]........
Now, this works fine. But how can the function myFunc know, if the given callback function accepts the correct number and type of arguments in its signature?I want to avoid that I call something like this somewhere in my code:
myFunc(tracer2);
function tracer2():void{
trace("done");[code]..........
Is there a way to do something like this, in order to use compiler warnings/error messages and thus avoid exceptions at runtime?
// Won't work :-(
function myFunc(callback(message:String):Function):{
callback("Hello");
}
I have a function fooA(valueA1, valueA2) which calls web method myWSA(). Upon reeiving the result, it invokes a result handler which inturn calls another web service myWSB(value2). I want to know how I can pass/access this value2 into foo2. These values: value1 and value2 are dependent on the button clicled.[code]...
View 1 RepliesI'd like to know what's the different using global functions and functions with param..Why using params? When the as3 developer uses it?
View 3 RepliesI have an array index problem. I have an Array that holds some strings. I am trying to write a function that receives a string variable (user input)and searches for that string in the array. for that i tried to use "ArrayName.indexOf(input_variable)" but this always returns -1 even if the string which the variable holds is in the Array.
This is the script:
public static function ValidName(inputName:String = ""):Boolean {
trace(validNames.indexOf(inputName));
if (validNames.indexOf(inputName) > -1) {
return true;
} else {
return false;
}}
I am using Flash CS5 and I have created a large, rarely changing framework that I don't want to be recompiled every time I use it in my projects.I must be doing something wrong because the "auto-complete" functionality doesn't show the names of the parameters of the functions.For example, I have a function:
public class Hey {
public function show(name:String, num:Number, data:Array):void {...}
}
[code].....
how do you load in a variable amount of jpgs into an empty movie clip? for example, i have a mc called 'holder' which loads in and replaces the previously loaded jpg every 10 seconds from the folder called 'images'. but how can i make it work if the user first puts in 5 images, but at a later date changes that number to 7 images?
View 1 RepliesI've attached a source file below, I'm kinda stuck. Basically, its an FLA that has a variable that changes (smscounter) based on whatever number is read in from an XML file (on my server). There is a big movieclip called "rewinder" on frame 1 of the main stage. There are left and right buttons that navigate between frames within that movieclip "rewinder". What I'm trying to do in theory is:
if(frame != 2) {button_right.visibility = true};
if(frame == 2 && smscounter > 5) {button_right.visibility = true};
if(frame == 2 && smscounter < 5) {button_right.visibility = false}
I've been told that won't work simply because once a variable (visibility) is set, it's not going to just continually check it, so I have to dispatch an event? I've tried 3-4 tutorials and I can't get any to work. Now a few things: I would LOVE to avoid anything super complicated. All I need is on frame 2 for the button to not be there IF smscounter is below 5. Other tutorials required another class and document class, but I couldn't get them working The buttons are currently outside the rewinder movieclip. I put them inside and on each frame, but then I couldn't get them to react to a rollover. The code is about as optimized as if a first grader wrote it, mainly because I'm a designer and I've been having help along the whole way with this.[URL]..
I have been having a serious issue with custom video where flash is saying that the amount of the video so far played is MORE than the amount that it has downloaded, which is clearly impossible. This results in various problems, such as the playhead (scrubber) moving past the end of the loader bar. I posted a simple demo that displays the amount loaded and the amount played in text fields. You can see it at: [URL][Code]...
View 5 RepliesSo I have been having a serious issue with custom video where flash is saying that the amount of the video so far played is MORE than the amount that it has downloaded, which is clearly impossible. This results in various problems, such as the playhead (scrubber) moving past the end of the loader bar.I posted a simple demo that displays the amount loaded and the amount played in text fields. You can see it at: URL...[code]I encoded the video at a high rate so that it would download slowly. It may not playback smoothly, which I am not concerned about. What I am concerned about is the numbers below the video what are derived from ns.bytesLoaded and ns.time. If you watch it for a bit, the amount played should exceed the amount loaded.
I double checked the video duration and the bytestotal that flash is reporting and they are correct. I don't know of any way to check the accuracy of bytesloaded.If your internet connection is super fast, you may not see the issue - it only occurs when it is playing back faster than it is downloading - if this is the case, you may need to throttle your speed down, or start downloading a large file while you are watching this demo in order to see the issue.But this is a serious issue and means that building custom video interfaces with loadbars and playheads is impossible!
It's like this: I got this .swf which takes a variable in the url, like: myswf.swf?id=1. I put it on my server and I embed it in a html-file on my server and it works fine. The swf takes the parameter(id) and it uses it correctly. THOUGH.. When I let some other person embed it in a html-file on their own server (you know, like you do with Youtube videos) it seems as if the swf doesn't get the parameter. If I run the html-file locally on my computer and links the <embed> tag to thesite.com/myswf.swf?id=1 it doesn't work neither, though if I link it to the local swf in the same folder it works fine.
View 1 RepliesIs there a way to look at each variable passed into the paramaters of a function. For example, taken the given code.
Code:
package {import flash.display.MovieClip;
import flash.display.Shape;
public class Dot extends MovieClip {
color:uint;
dotSize:uint;
[Code] .....
So in this instance it would loop through color, dotSize, doughnutSize, and doughnutHoleSize and set the paramaters of the class to be the same value.
Example for each loop:
Code:
for (var key:String in object){
trace(key + ": " + object[key]); // object[key] is value
}
So, is this possible?
So I'm trying to do something like this....<param name="movie" value="comp.swf?rootDomain=3" />where I have a variable called 'rootDomain' in my html, as a parameter.I want to be able to call that from my flash, but whenever I try it comes up as undefined.I'm using this code in my flash..
on(release){getURL (_root.rootDomain + '/news/'), "_self"
}
I don't know if I'm just wrong, if it's syntax or what, but how do I reference that variable in the html with my code?
I have trouble passing a variable from HTML to Flash.I use swf-object2.2.how to code the variable in the html-file and how to receive it in the as-file?Its a simple shopId = 110
View 3 RepliesLet's Say I Have This Class:
package{
import flash.display.Sprite;
public class Main extends Sprite{
public function Main(){
trace(getAverage(1,2,3));
trace(getAverage(1,2,3,4));
[Code]...
is it possible to create custom event with variable arguments count? I ask this because currently I use anonymous functions on events with variable parameters count to pass arguments to appropriate function, i.e:
Code:
addEventListener( MouseEvent.ROLL_OVER, function(evt:MouseEvent):void{mTBGp( pX, pY, l_w, l_h, isDone )}, false, 0, false );
addEventListener( MouseEvent.ROLL_OUT, function(evt:MouseEvent):void{mTBGe( pX, pY, l_w, l_h )}, false, 0, false );
and I don't want to do that because of weakReference.
1. From what I know if I set weakReference to true with anonymous function on in addEventListener GarbageCollector will delete them (and indeed I can see that my code stops to work on random, due to GC "kickin in")
2. When i delete my Object with addEventListener( weakReference = false ) the memory used by addEventListener is not freed ( unconfirmed, please elaborate on that subject also)That's why, from My point of view, usage of custom event is best, but unfortunately I use many addEventListeners with variable parameters count so (in above example 2 listeners. one 5 arg, second 4 arg) is there a way to do something like this? To write event that will take x parameters of any type?
I have a button in a movie that I want to set a global variable to a new value when clicked. I want it to access a parameter of a movie clip that this same button loads onto the movie for the new global variable value. I have the final line under this button's onrelease script with something like this:
globalvariable1 = movieclip.parameter;
Everything is on level 0 and I've tried prefixing everything with _root. but it didn't make a difference, the global variable still wasn't changed. I'm a newbie so don't laugh if this is a really dumb question!
BriCar77
brian_carey77@ou.edu
I have shortened this example to keep it simple, otherwise I wouldnt be doint this
I need to pass different variables to function inForLoop each time.
Code:
function someFunction():void {
for (var i:int = 0; i < columns; i++) {
for (var j:int = 0; j < rows; j++) {
[Code]....
I have a function that includes a variable which I need to use in a different function after some effects occur.
View 6 Replies