ActionScript 2.0 :: OnPress - Four Buttons Inside For Loop
Jun 22, 2010
I'm trying to write onPress for 4 buttons inside a for loop.
This lines traces undefined:
Code:
trace(_root.TeachMethodArr1[count]) // undefined.
This is because count is no more starting from 0 when I click the buttons.
Code:
var TeachMethodArr1:Array=new Array()
var TeachMethodArr2:Array=new Array()
TeachMethodArr1 = ["a","b","c","b","e"]
TeachMethodArr2 = ["a","b","c","b","e"]
for(var count:Number=0;
[Code] .....
I using a for loop for a redundant action that I want to happen across 5 buttons. OnRollOver the button rotates. OnPress the button moves to a new position. It looks like this:
Code: for(i=0;i<5;i++){ _root.swatch_mc['swatch'+i].onRollOver = function () { this.onEnterFrame = function () {[code]....
My problem is this; onPress I want the button to move up (Ive achieved this already). I also want the other buttons to move down onPress (this is my problem). Is there a way have the other 4 buttons move down onPress using the for loop? Or is there another method of doing this?
I got a set of buttons and a text field where they load the content.I'm trying to not make one zillion functions and keep the code neat so i guessed i would try set the buttons' actions within the loop too. I firstly had some problems getting the i counter inside the onRelease function (actually I don't think i ever got how to do it). But I tried this and worked:
stop();var comprarXML = new XML();comprarXML.ignoreWhite = true;comprarXML.load('flash/comprar.xml');comprarXML.onLoad = checkLoading; function checkLoading(success) { rootNode = comprarXML.firstChild; ButtonReleaseAndContent ();} function ButtonReleaseAndContent (){ for (i=0;i<12;i++){ // my buttons are not generated dynamicly, that why the count. btTemp =
[code]....
At the line where I set the text, I had a though " I may have to refer from within the button mc, since the generated code goes inside it!". So i tried the this.temp , guessing that this would be equal to the button level. A few seconds later i noticed my referencing for the text field wasn't coming from within the button, but from the root.
I have 27 buttons on a menu generated by a for loop. When the button is clicked it moves the menu +380 pixels. Now to shorten my code I moved the buttons inside the menu movieclip. Intance name: "buildMenu"
This means I only have to move the menu rather than the menu plus each individual button.
The code below works fine but I don't want to have to write this 27 times as each button will be calling much more than just "buildMenu._x += 380;"
Ok so options is the array there can be many or one outside swf. we go through the array creating empty movieClip and populating each with an outside swf. Once loaded i want to use these newly created movieClips as buttons.
1. can i declare the onPress in a for loop?
2. how do i centre and space them no matter how many they are the will be linear.
Code: for (var i:Number = 1 ; i<options.length; i++){ //create a holder _root.createEmptyMovieClip("optionD"+i,4+i);
Everytime I press a movieClip, i -1(on the output window) should be equal to the number of the movieClip (ex: myClip17, when pressed, should produce in the output window a value of 17 for i-1). Please copy paste this code to a flash document and you'll see what I mean (please don't forget that you have to have linkage in the library for a movieClip symbol that you have to create - it's a circle only with stroke that has w=15 h=15). Every time I click on a number it should appear a circle on it. If the circle is already there it should disappear. But that's not the case. Somehow every movieClip has the order to attach one of the instances of movieclip marca_mc to myClip31.
is that possible? i'm a complete beginner when it comes to flash and actionscript... so if it sounds like i dont know what i'm talking about... it's because i don't!let me describe my situation...I have about 20 boxes... and on each box i want to assign the onPress to trace the value corresponding to an Array at element "i" in the console...instead of doing:
Code: box1.onPress = function() { trace("the value is: "+hypotheticalArray[1]);
I'm having troubble with the .onPress function. I've made an array of movieclips, and i want to go through them in a loop, and make an onPress function for each of them. What im trying to do with the code below is to make the debugText tell me what movieclip i pressed:
The problem is: everytime I press a movieClip, i -1(on the output window) should be equal to the number of the movieClip (ex: myClip17, when pressed, should produce in the output window a value of 17 for i-1).Please copy paste this code to a flash document and you'll see what I mean (please don't forget that you have to have linkage in the library for a movieClip symbol that you have to create - it's a circle only with stroke that has w=15 h=15).Every time I click on a number it shouldappear a circle on him. If the circle is already there it should disappear. But that's not the case. Somehow every movieClip has the order to attach one of the instances of movieclip marca_mc to myClip31.
I'm trying to make a point and click game for the fun of it. I'm having troubble with the .onPress function. I've made an array of movieclips, and I want to go through them in a loop, and make an onPress function for each of them. What I am trying to do with the code below is to make the debugText tell me what movieclip I pressed:
I try to use onPress function inside an onLoadInit function but nothing will be traced. I can see my hand cursor over my icons though. I also tried with onLoadComplete, but no change...
I have the following structure set up from the top down - one inside the other on the stage. All instance names have been assigned properly[code]...
I've been trying various combinations of this from the main timeline to get a response when I fire the link (card1_button1) but nothing works. This is the longest version with everything in the path[code]...
I have an MC that has a graphic. I have faked buttons for just the over state, so it shows a border around a portion of the graphic. That works fine until I added this to the MC:
I have pressed the buttons in a array. The objective is press the buttons in the correct sequence. Correct sequence click "btn1 and btn2" or " btn2 or btn1" Correct sequence click "btn3 and btn4" or " btn4 or btn3" Inc correct sequence click "btn1 and btn4" or " btn4 or btn1" and so on.
I've place a trace the button is returned undefined. ActionScript Code: var buttonArray = new Array(btn1, btn2, btn3, btn4); var clicks = 0; for(i =0; i < buttonArray.length; i++){ buttonArray[i] .onPress = function(){ trace(buttonArray[i] + "click"); }}
I have done this same thing in ActionScript 3, but am not familiar with ActionScript 2, which I am forced to use for this project. I am loading products into a SWF via XML and attempting to add a click event to each dynamically-created movieclip. Simply tracing the text from a node in XML will do for now. I'd like to assign a property called "desc" or "description" to each movieclip and have it trace that property's value when clicked. Here is the relevant portion of my code as it stands:
ActionScript Code: var iXML:XML = new XML(); iXML.ignoreWhite = true;
I am trying to create a gallery where each thumb is housed inside of it's own movie clip that will have more data, but it keeps failing because it won't let me refer to the newly created instance of the movie clip. Below is what I am trying to do.
var xml:XML; var xmlReq:URLRequest = new URLRequest("xml.xml"); var xmlLoader:URLLoader = new URLLoader();
I am trying to create a gallery where each thumb is housed inside of it's own movie clip that will have more data, but it keeps failing because it won't let me refer to the newly created instance of the movie clip. Below is what I am trying to do.
var xml:XML; var xmlReq:URLRequest = new URLRequest("xml.xml"); var xmlLoader:URLLoader = new URLLoader();
[Code]....
It dies every time on that last line. How do I refer to that vidThumbn instance so I can add the imageLoader? I don't know what I'm missing. It feels like it should work.
I'm trying to make a matching pairs game. First of all I'm making all the tiles, using a loop inside a loop. How do I get the ID of an item inside that loop? My code looks like follow:
Code: var matches:Array=new Array(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8); makeTiles(); function makeTiles() {
First, click on the Abaco island shape on the map. You'll see on rollOver there is a glow around the island. Now click on that island and the glow remains for the zoomed-in detailed view. When you return to map and zoom back out, the glow is removed.
Now, compare this with clicking on the island name "Abaco" from the list on the right, instead of clicking directly on the island from the map. It zooms in and shows the details fine, but the glow that should be there is not.
The reason this problem is very perplexing for me, is that the onPress action of the list button in the right column calls the onPress function of the map button. So, theoretically they should do the EXACT same thing when pushed. But clearly they don't.
Here is the code for the button from the list on the right panel:
There is more code, for example rollOver, rollOut, and Press actions for the other island buttons, but they are all of the exact same format as the Abaco island button and they all have the same problem.
So, to recap, the problem is that the list button in the right panel do not function properly onPress, even though they are calling the onPress function of the island buttons directly, and the island button onPress function works perfectly. Strangely, all but one little thing works. So it's obviously getting to the correct functions and going through the code as planned, yet that one part about the glow is being ignored or otherwise messed up.
I am quite new to AS3 and I am having trouble adapting my knowledge of Java to this new language i am trying to make a simple grid in which i could work on each individual square seperately(changing their colour for example). To do so, I created a 2D array,hoping it would allow me to work with some kind of coordinates system. I initialised the array using while loops and for some reason, this does not let me access the array outside the loops.[code]The two last lines are causing the problem, instead of turning the last square red, they return the following error: TypeError: Error #1010: A term is undefined and has no properties.However, when placed inside the loop, there is no problem and the whole grid turns red.
I have put all button inside movieClip called "container" and I have added "container." inside for loop and now I am getting errors. for (i=8; i<15; i++){ container.this["button" + btns[i].name.replace("btn","")].mouseEnabled = false; }
I am having a hard time trying to use an onRelease event handler inside a for loop. Basically, I am developping a custom player for articulate presenter using flash and AS2.This code is generating a movie clip in a for loop for each line in the sidebar, with slide title and slide number parsed from a XML.Until here, all works fine.But when I try to generate the onRelease event handler to play the wanted slide when I click on the line, the value inside the onRelease is always the highest value of i.Looks like the onRelease evaluates i only when I click on the line, after all the clips have been generated.[code]I have to find a way to capture the value of i for each clip.
My intention for the above simple code would be to have 'i' get traced every 3 seconds. But it doesn't. 'i' just gets dopped out into the output pane all in one go. Do steady release!
I am having an issue with a hitTestObject inside a for loop. When I drag an item it traces back that it was a hit but still animates back to its original place. I can't figure out what is going on with this... Here is my code
-: b1 = blade.. rotating and moving along y axis... its position in the stage is x = 120 and y = 20.. but when i test it tracing(_y) shows dat d first value comes 42.85 and not 20(value from the properties).. i dont know how to get its exact value just like what is seen from the properties.. i've tried to have an if statement that if the value of _y = to the y coordinate the blade position that will alter its movement, it never turns like i want.. here is my facebook email add( punisheryuri11@gmail.com ).. please help me if u have a spare time..