ActionScript 3.0 :: When Is A Var Declared, In A Function Within A Function
Jul 27, 2009if i have:
PHP Code:
protected function start(){ var nfunction:Function = function():void var innerVar:int = 5; }}
[code].....
if i have:
PHP Code:
protected function start(){ var nfunction:Function = function():void var innerVar:int = 5; }}
[code].....
I want to add about 10 textBoxes and I want them all to be contained in different variable names. I need to declare them outside the document constructor function because of scope, but how then can I use them in a function? I want something like
[Code]...
"you cannot delete variables that are declared within a function with the var statement".Which, as it happens, is precisely what I was trying to doI want to delete the object because it holds a bunch variables that are no longer needed, to prevent potential speed/memory issues later on.it's impossible (probably with reason) and I know vars are local to a function, so now I'm wondering if it is actually necessary to remove local variables
View 3 RepliesI have a problem accessing a variable which is to store a frame label. Code has been shortened to relevant parts. The following is on the main timeline.
PHP Code:
stop();var nextSection:String = "";buttonContainer.aboutUs.addEventListener(MouseEvent.CLICK, moveButtonsForContent);function moveButtonsForContent (evt:MouseEvent):void {if
[code]....
I have a movieclip called "sections" which loads different sections of the website.When the first section is clicked thencontainerCenter is true and the evt.target.name is loaded in to the nextSection variable.Now if a 2nd section is clicked then containerCenter is false. It plays the sections movieclip. Within that movieclip it will eventually play and come to the following script:
PHP Code:
gotoAndPlay(nextSection);
For some reason it won't pick up the variable "nextSection" within the movieclip. I'm getting the error message "Access of undefined property nextSection". It has no problem when it is in the main timeline.I know you can't access a variable declared inside a function, but I have it declared outside the function as you can see above. I've just amended the variable from within the function.
I'm using flash MX, and this was written in the only frame. Before this, I had the function declared and then called, and the output was 1 then 2 then 3.With the function declared at the end there is no output.In both cases the movieclips never played.
Actionscript Code:
_root.McG1.onRelease=Select(1);_root.McG2.onPress=Select(2);_root.McCar.onPress=Select(3)[code].....
I am trying to access a shared object declared in a certain function, from another function. I am having
difficulty doing so. My code are as follows:
Code:
//Constructor code
public function EventTest()
{
[Code].....
These two functions are taken out of my as class file, even though the setInterval is never cleared it only calls generateParticles 1 time. Someone please help me figure this out. I have been messing around with it over an hour but still can find why its only called once. emit is a private var Number declared outside the function in the class.
[Code]...
I've got a class where I'm using:
o.type = "focus";
o.target = "this";
dispatchEvent(o);
and then focus is a function of an object in the FLA.
I want focus to be in the AS External Class file but it won't trigger.
I created a menu in flash and As3, nested in a HTML page, which calls html pages by the classic way urlrequest->navigatetourl.Now I was wondering if i can make As3 call a AJAX function declared in the HTML page or at least in the swf file itself....
View 1 RepliesI've got a Vector of ViewToActionMap objects, which have following constructor:
public function ViewToActionMap(_forModule:eModule,
_forAction:eViewAction,
_toFunction:Function,
[code].....
I'm trying to get this one function to be able to call many functions (not at once, but call many possible ones)In other words, I'm trying to get this variable to be named as a function. That way, this one variable can create multiple functions.example:
actionscript Code:
class Thing extends MovieClip{ var funcvar; var othervar; function onLoad() funcvar = "YYY"; othervar = "ZZZ"; function onEnterFrame()
[code].....
is it possible to write a function to move an object and then call that function on a clip event for instance
function (bounce){
script;
script;
}
and then call it by saying
on(mouseOver){
this.bounce;
}
is it possible to store a list of params needed for a function in an array and then use that in a funciton call?
[Code]...
or something like that?? Prob have to iterate the array but how do i get the params into the function call? Is this even possible?
How do I execute callback functions dynamically by passing a function in as an argument to another function?
Look at this example:
Code:
package {
public class myClass extends MovieClip {
public function myClass(callback) {
[code]....
I have a set of Cue Points in an FLV I'm playing. It's an interactive quiz, so the idea is that flash will change a variable, theAnswer, to a different letter depending on which question it is. The answer to question 1 is B, question 2 is D, etc. Either the cue point event listener isn't working, or else it is working and Flash isn't declaring the variables. 1120: Access of undefined property theAnswer. I literally can't find a single problem with my code. I have an almost identical Event Listener further down which works.
[Code]...
I need to return to my original function after capturing an event (downloading something) with another function. The original function needs to return a value, which depends on the downloaded data. So, I'd like to pause original function for the time needed for the download and the eventhandler function to complete it's work, and resume it afterwards.
The obvious way is to set a flag value (both the original function and the eventhandler are within the same class) and make the original function check it until the eventhandler function changes the flag. But that would be wasteful, and my AS is slow enough already:) [other parts of the application utilise some heavy graphics]. Is there another way? Like an event that gets captured "in the middle" of the function? Or some other form of flow control?
Let's say I have a Custom Event Class, and it has several Event types stored in static Constant:
[Code]...
Is there an easy way to validate that the type passed to the Constructor is one of the Static Constants of the Class, without having to check it against each value?
is it possible to declare function this way
ActionScript Code:
function startShake(e:MouseEvent, num1, num2):void
what i mean is it possible to send to the function not only en event but also a variable and a second question how can i access
ActionScript Code:
function stopShake(e:MouseEvent):Array
this array that function return.
How create baseurl function in flash and how i call that function in button script
View 1 RepliesI have this code but I cannot work out how to fill in function parameters based on an array and it's length, see line 7
[AS]
import com.robertpenner.easing.Cubic;
MovieClip.prototype.framesTimeout = function(func:Function, frames:Number, args:Array) {
[code]....
Is it possible to call a function and fill in the parameters based on an array and it's length?
is there a way to refer to all movie clips on the stage or apply a function to all movie clips without applying the function to all manually?
View 3 RepliesUse Flash CS5 (and AIR, though this does not seem like it would be AIR related) in Win XP 64 I have a MovieClip symbol in my library with the identifier 'Puzzle10Piece10' with the following actionscript attached to frame 1 of the only layer with the following actionscript:
[Code]...
This runs contrary to my understanding of the pre-compiler and code execution order. In my way of thinking, any reference creation and related memory allocation is made when the object is instantiated, and indeed that allocation, unlike C depends not on code order (declaration before use), though this is an order that would satisfy even the C pre-compiler. If I understand the Flash compiler at all, it's not even a question of 'code order'... the symbol is pre-compiled such that for it to exist... for it to be instantiated, the variable would exist before the function would even be 'available' to be called internally or externally. Is my thinking way off, or is this a bug?
I have an AS3 program that calls a function multiple times. The function must return multiple variables, so I created a class for the function to declare an object containing all of these variables. For example, here's my class:
package
{
public class PER
{
[Code].....
Let's say the calling program calls the function, which returns the variables into data_set1 (where data_set1 depends on input variables arg1, arg2, arg3) using:
var data_set1:PER = function_name(arg1, arg2, arg3);
The calling program does some stuff, then calls the function again, but returns the variables into a new variable name, data_set2:
var data_set2:PER = function_name(arg4, arg5, arg6);
My intention is that data_set1 and data_set2 are different (e.g. not linked together).
My question is, given that arrays are passed by reference, will data_set1 be modified to agree with data_set2 upon the 2nd function call? Why or why not?
I'm doing a basic site with frame labels on the main timeline whose name corresponds to the btn names. A simple otoAndPlay(evt.target.name); I have a basic navigation setup of 7 mcs with mouse eventlisteners for CLICK, ROLL_OVER and ROLL_OUT.
Example:
prepare.addEventListener(MouseEvent.CLICK, navigate);plans.addEventListener(MouseEvent.CLICK, navigate);retire.addEventListener(MouseEvent.CLICK,
[Code]....
Does anyone know a better way to do this so when my mcs are clicked they display the rollover content/art? In essence I'm trying to achieve that when the user clicks a btn it goes to that "page" and the corresponding btn stays highlighted. Pretty standard web navigation technique but I just don't know what the best way to do this in flash is and with how my site is setup.
I'm using this code to call a actionscript 3 function through javascript
[URL}
and I want to call the acrionscript 3 function from a javascript function, but not on a button action.
actionscript code:
//call to javascript
ExternalInterface.call("sendToJavaScript");
//call from javascript
[Code]....
I am working with AS3 to build a very simple mp3 player on my site. So far the play and pause button work fine, but when I try to move the slider then click the pause button, it doesn't pause, and then clicking the play button again causes it to play a new file.I'm assuming that for some reason when I call the playMp3 function from my MouseEvent, it's within an object or something and not at the root, so it's like loading a new sound file, but I don't know how to fix that.URL...
View 2 Repliesthis is the function i want to turn in to a static function. just dont know how to make it a static function and call it from other classes. i think this would have its own file.
[Code]....
var speed:int = 4;
addEventListener(Event.ENTER_FRAME,MoveRight);
function MoveRight(event:Event):void{
[code]......
I'm trying to find a function that will repeat my Rotational tween function. I found the yoyo() function to be what i want to do but i don't want the tween to change the rotation to CCW while originally moving CW. Basically i want the animation to move CW at a steady rate continuously.
I'm using the following code at the moment, i'm not too sure if this is the most suitable code for this situation, maybe im off track.
From my thoughts, i assumed that i would need to put the stars function in a onEnterFrame to repeat the animation and change yoyo() to continueTo() function. or maybe some sort of if statement in the stars function?
ActionScript Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;
var stars:Tween = new Tween(ring, "_rotation", Regular.easeInOut, 0, 360, 4, true);
[Code]....
I had a function that occured on mouseclick called go_out. I want this function to occur when the timer fires after 5 seconds. After the 5 secons I receive this error:
TypeError: Error #1034: Type Coercion failed: cannot convert flash.utils::Timer@3fe4561 to flash.display.MovieClip.
at home_flash_fla::MainTimeline/go_out()
at flash.utils::Timer/flash.utils:Timer::_timerDispatch()
[code]....