ActionScript 3.0 :: Referring To An Object Outside Of The Function In A Listener?
May 31, 2011
I have four buttons named button1, button2, button3 and button4. I want the code to trace the name of the button when the button is clicked. This is just an eample of what I'm doing in my project. The project itself is too convoluted to put up and explain. My problem that needs to be solved is, how do I refer to the button in the Function?
var c:int;
var buttonName:String;
for (c = 1;c < 5;c++) {
buttonNum = "button"+c;
[Code]....
When I say "trace(this)", the code doesn't know what "this" is because I've taken this[buttonNum] out of the loop by having to put it in a Function. How do I call to the object that is in the listener that called the Function?
I have a class with a method "movePaneTo". I want to create a tween and do multiple things at every step not just change a movieclip property. Tweening a property of the class seems to be working but how do I refer to the class that initiated the tween from the onMotionChanged handler, so that the trace would display the current value?Should I be using a listener for the onMotionChanged?What's this kind of function (the one assigned to "onMotionChanged") callled? [code]
Alright, I've looked online at a bunch of different collision tutorials but they don't explain what I'm looking for. I want object A to hit object B and then execute a function via to a Event listener.
is it possible to determining what object calls a function based on an event listener? for example, i have 2 buttons on stage that call the same function when they are clicked. i'd like the function to determine which button was the sender.
When you click on the button something happens. However it seems redundant to me that in the declaration of myListenerFunction, the event object e of class MouseEvent, actually has to have its data type MouseEvent mentioned.
I have a small Flash file where I control a ball.In ActionScript 2.0, I have it to where this ball moves around based on input from the Arrows on the keyboard. It also bounces off the edges.I added a new separate ball (not the same symbol) and I want to refer to the NEW ball's X and Y coordinates to see if I am running into the new ball. How do I refer to the other ball's (or any other object for that matter's) properties from within the ActionScript of the first object?
I have an object that I add movieclips into when a user does something.
I'm trying to loop through the items in this object later and perform something when object.objectName = something, however I'm finding it hard to get the right code to use in place of the something.
code within a function that adds movieclip to object:
Code: if (thisHImage==1) { healthArray[healthIndex] = new mcCake(); }
[Code]...
when i trace(healthO.objectName) i get [object mcCake], but it won't enter the if statement,
I'm fairly new to AS3 and CS4, and I'm trying to figure out how to write code that isn't needlessly repetitive. I'm not sure exactly how to streamline it, or if that's possible in my case. My issue in particular is with buttons. I have 40 buttons that perform the same function with a single variable, so I'd like to figure out if I can accomplish that without writing 40 separate functions.This is the current version: http:[url]......Here's the full code, with the relevant part in the last commented section:
It seems that something like that might work, but I don't know how to go about setting my variables up in an array or otherwise putting them in a state where an incremental statement could refer to them.The bigger issue, though, is whether I need to make a separate function for each button.Each button will do the same thing, just with one variable.When the user clicks a button, I want it to perform a function that will update text fields with text pulled from XMLList variables.Each button is given a unique identifier that corresponds to an index in the XMLList.So clicking the button just needs to establish that identifier as a variable n, so that the function can, for example, update the titleText text field with the text contained at titleList[n].
For the purposes of this example, let's just say that I want the mgInteraction function to trace the identifier (name, array index, or whatever) of the clip that's being interacted with (mg0/mg1/mg2/mg3). Is there a way to set this up to work with a single function, or do I need to create 40 unique functions, one for each button?The flash, if need be, is here: http:[url].......
I have an mc "mc" that I made in flash. It has a text box in it with instance name "txt1". I dimmed a variable var mc:MovieClip = new mc() and used the add child method to add it to stage. Now I want to refer to the text box in the mc. I tried mc.getChildByName(txt1).text="abc" but it gives me errors. How do I refer to that text box.
I am having a weird problem with scope/reference. I am using a loop to preload a number of thumbs in one go, I am creating a different listener for each one on the fly and then passing event handlers for each one of them. This should not be difficult using a loop, but somehow I cannot access the the parent object on my listener and therefore I can't do much with my thumbs after they are loaded.Here is the relevant segment of my code. myThumb_mc is a temporary variable that does not exist when the loop finishes, you can copy and paste this code to test it though. It should work to that extent. (you'll need an image1.jpg to be in the same directory)
Code: var myThumb_mc = _root.createEmptyMovieClip("myThumb_mc", _root.getNextHighestDepth()); myThumb_mc.clipLoader = new MovieClipLoader(); myThumb_mc.clipLoader.loadClip("image1.jpg",myThumb_mc);[code].....
The code above works, but it does not look nice and it cannot be the right way of doing this. Long question short, how can I access the parent of a listener from a listener object? ._parent does not work.
Using AS3, I was wondering how to control one object, a ball, while another ball bounces around. I'm modifying code from "Foundation ActionScript 3.0 Animation" by Keith Peters.
I'm pretty new so I'm probably making some obvious mistakes here. First of all I thought I could refer to the balls as ball[0] and ball[1] since they are in an array called ball. Is this correct?
stage.addEventListener( MouseEvent.MOUSE_DOWN, clicSouris); function clicSouris( pEvt:MouseEvent ):void { var positionX:Number=pEvt.stageX; var positionY:Number=pEvt.stageY;
[Code]....
what appens when I add an Event Listener to Object Event?
Following the logic with the display list in AS3, I thought only Classes who inherit flash.display.InteractiveObject could react from events coming from mouses (or keyboard).
trying to find how to assign listener to an object created with this function...
Code: private function placeBtn(thumb:String, Xthumb:Number, Ythumb:Number, targetHolder:MovieClip, ID:String):void{ var clipHolder:MovieClip = new MovieClip();
I am using the following key listener to trigger a login function: code: var keyListener:Object = new Object(); keyListener.onKeyDown = function() { if (Key.isDown(Key.ENTER)) { login(); }} Key.addListener(keyListener);
However this triggers the login function twice, which causes the user to get a error saying they are already logged in. I have a button on the stage which triggers the same function. code: login_btn.onRelease = login; And this works fine. How I can ensure that the keylistener only triggers the login function once?
I am working on a game for my university project and I have run into a bit of trouble. I have the following code here:
function launchBall() { this.stage.addEventListener(KeyboardEvent.KEY_DOWN ,launchBallHandler); function launchBallHandler(e:KeyboardEvent):void { if (e.keyCode==32) {
[Code].....
Its set up so that when a ball goes off screen, it resets to a coordinate and launchBall is called.
LaunchBall then adds the event listener to see when the Space key is pressed and that starts the ball moving again. The problem I have now is I cant seem to get rid of that eventListener. I have tried removeEventListener and that doesn't seem to work. I have tried:
if (ball.xVel>0 && ball.yVel>0) { removeEventListener(KeyboardEvent.KEY_DOWN,launchB allHandler);
just below that code and that doesn't work either. It's not spitting any errors out at me but I am completely stumped.
Well i have spent a long time getting the code i have so far from tutorials and the listener and function commands seem to work well for one button, but i need to know how to apply the existing code to the other buttons. This is the code i have:
I want to a listener on a tween on the document class that when it's finished, it goes to it's child's listener function, but I don't know how. I thought it'd just be a case of document.functionName but it's throwing an error.
[Code]...
1061: Call to a possibly undefined method startFade through a reference with static type Class.
I just started a course that does a little flash. To teach us they have us build a brick breaker game. I have come to a part were I have to remove all the Listener that were created for the game. Each level is a movie clip and when the level is over the level instance is removed from the child. From what I understand when the level is removed the Event.REMOVED_FROM_STAGE becomes true and the function attached should be called however it is not. Here is the code of the function that sets the listener and the function to be called:
I have a method which registers an event listener to each of the MovieClips in an array I have. The method is inside a class, and so is the listener function. The problem is, I'm getting an error that's says "Access of undefined property handleNavToggle", even though is declared.
This simple code is not working properly: ActionScript Code: keyListener = new Object(); keyListener.onKeyDown = function() { trace ("Message"); } Key.addListener(keyListener); The message is only output when some keys are pressed, such as W, D, Space, etc. I don't know why. I am using Flash CS3 (AS2).
Is it possible to call a FrameListener function so that when a movieclip enters a certain frame, I can call a function. ________________Wallpaper_mc My setup is Stage< __________________HUD - Classes_mc
When Classes_mc goes to its "close" frame, I want to call wallpaper_mc to gotoAndStop("unblur")
ActionScript Code: /* Setup listener for each video/audio cue point ============ */ myListenerObject.cuePoint = function(evt:Object):Void { if ((evt.info.time == cpTime[n]) || (evt.time == cpTime[n])) {
[Code]....
The code above does not work because of the if/else if statements. What I'm trying to accomplish is that I have a listener object that in one frame listens to an flv playback object, and in another frame listens to an mp3 file.
The listener code for both types are exactly the same, except that the flv listener uses the evt.info.time to check for cue points in the flv and the mp3 uses evt.time to listen for the cue points in the audio. Since I can't combine these with an OR operator, is there any other way to consolidate these two, or do I just need to keep two sets of the same listener code for each to refer to?