Actionscript 3 :: Using Array Argument In Jsfl With SwfPanel.call?
Sep 8, 2011
I'm trying to create a swfPanel for Flash CS5.5 using JSFL.I created my interface in flash and try to communicate with a JSFL command.So, in my .fla file, I use an ExternalInterface with callBack to call a specific function in JSFL,and then swfPanel.call() for the return.The problem I encounter is that I can't pass an Array as argument for the call function (after the AS3 function name). Here's the code :
In AS3 :
function init():void{
ExternalInterface.addCallback("callBackPanel", JsflCallback);
MMExecute("fl.runScript( fl.configURI + "AirMobileFramework/AirMobileFrameworkPanel.jsfl", "checkSettings" );");[code]....
When calling panel.call("callBackPanel", result[0], result[1]); there is no problem, my callback is well called, but when using panel.call("callBackPanel", result); I've an error :
Is it possible to execute a jsfl function from a jsfl file instead of a full string with MMExecute? And above of that how can i change the base class with jsfl? i created a panel to create certain displayobjects but i really need to change the base class instead of the normal class name.
In this following function I would like to pass a parameter when i call the function tchauBalao.
which is actually the Mouse Event ( "e" ).
Code: function outPassaro(e:MouseEvent):void { var passaro:MovieClip = e.target as MovieClip; TweenLite.to(passaro.balao, 0.2, {scaleX:0, scaleY:0, ease:Expo.easeOut});
I want to be able to call a JavaScript function from a Flex app using ExternalInterface and pass a reference to a different JavaScript function as an argument.
I want to write a function which has 2 dimensional array as one of its arguments _global.getList = function ( type:Number, list[]:Array )
This is giving syntax error, if I do _global.getList = function ( type:Number, list:Array ) Then there is no error, but then, list is now, single dimensional array, which I don't want. Whats the correct syntax to write it as two dimensional array?
I have a function that uses the ... rest argument as follows:
public function dispatchActions(... actions):void { var params:Object = new Object(); params.actions = actions; // I also tried casting ie. = (actions as Array) this.target.dispatchEvent(new ActionEvent(ActionEvent.dispatchActions, params)); }
I call it using myActionObject.dispatchActions("all"); The problem is that when a listener receives the dispatched params object and try to access the actions array, it does nothing. If I try to trace evt.params.actions it traces blank and if I try to trace evt.params.actions[0] it traces undefined.
ex:
function actionsListener(evt:ActionEvent):void { var actions:Array = (evt.params.actions) as Array; // I also tried without casting trace("actions", actions, "actions 0", actions[0], "action 1", actions[1]); }
This is the output: actions actions 0 undefined actions 1 undefinedI don't understand why I can't pass the ... rest argument through an object as an event parameter. How can I make this work?
I am building sort of a slideshow that features a counter. Everytime the countdown gets to 0 it should go to another frame RANDOMLY and start itself again. So far, I was successful at that using a Math function [i.e. gotoAndStop(Math.round(Math.random() * 5)+1);]. However, i needed the random function to include UNIQUE instances, so that it would not go twice to a same frame. Everywhere I looked for I was told that the way of doing that was creating an Array.
However, it all worked with the Math function and now that I have an array not only it doesnt work but I get a runtime error, an ArgumentError: Error #2109: Frame label 0,2,3,1 not found in scene Scene 1. It's like it cannot find the source of the randomiser function. How did this happen and, how can I make it work and still obtain a unique randomised order?
In the below code, "sector" is an indexed array.fsector1, fsector2,fsector3 are Associative arrays.The "gotoAndStop" command doesnt work properly.The last trace command, "curTerr" returns the same value as "curSec",leading me to assume i did not define "curTerr" properly.
Actionscript Code: function loadmaptest(){ sector = ["fsector1","fsector2","fsector3"] fsector1 = new Array(); fsector1["terrain"] = "grass"; fsector2 = new Array();
and so forth.The issues is I need to call a variable from within the array but depending on an option the user has chosen it needs to call the right one.At the moment I am trying
end = "_global.var"+userOption+"Array["+array#+"]"; userOption being the needed array array# being the needed entry within the array.
However when I try and use this I of course just get it like a string, not as a variable...
is there a way to call on my functions for one button..for example my home btn on CLICK event does 5 different functions. Is there a way to put those functions in some sort of an array and just call on that...
I've defined an array which stores the function name, like this:
var aresetButtonTop:Array = new Array(resetTop1,resetTop2,resetTop3,resetTop4,resetTop5);
Then I have a button named"btnresetTop" which when clicked will call one of the five functions stored in the above array(aresetButtonTop). The functions are called at run-time depending upon some conditions. I need to figure out how I can call those functions using the array index. I'm using the following code to call the function. The value of i has been already calculated.
After doing this I'm getting the following error when I click the button:
TypeError: Error #2007: Parameter listener must be non-null. at flash.events::EventDispatcher/addEventListener() at gallerytest_fla::MainTimeline/thumbTopClick()
Note: thumbTopClick() is a function inside which all these codes are written.
I need to find out whether it is posible in AS3 to call a function name using the array index or not.
Can I call a function when building an array in Flex 3?
public function gridBuilder(myArray:Array):void { var i:uint; for (i=0; i<myArray.length; i++){
[Code]....
MyArray is the result of a remote call to the database. I then prepare the array to be used in a dataGrid. I also want to call a function that provides a grade. Unfortunately, my function appears to be called only once. Is it possible to call a function when you're building an array? see the "Grade:" bit.
I want to access the frame labels of a movieclip on the stage. How do I put them in an array in the timeline code? Like this? toolTipArray:Array = new Array(movieclip("framelabel"), movieclip("framelabel")...)
So I'm attempting to call a random item from an array which is all fine and dandy, but I'm attempting to fill the array with functions, and therein lies my problem.Here is my code, it's just a test file I made to keep it simple while I learn how to do it:
Code: var functionArray:Array = new Array('a', 'b', 'c'); function a():void
So I'm attempting to call a random item from an array which is all fine and dandy, but I'm attempting to fill the array with functions, and therein lies my problem.Here is my code, it's just a test file I made to keep it simple while I learn how to do it:
Code: var functionArray:Array = new Array('a', 'b', 'c'); function a():void
function doSomething(... args): Object { // do something with each arg }
However, I'm building the arguments for this dynamically:
var someArgs: Array = ['a', 'b', 'c']; doSomething(someArgs);
The problem is, when I call the function in this way args ends up being a 1-element array with someArgs as the first element, not a three-element array.How can I call doSomething with someArgs as the argument array?(For the search engines, this is argument unpacking)