ActionScript 3.0 :: Multiple For Loops Within Various If Statements?
Jul 28, 2011
I'm building a quick products display app for my company (basically customers put in certain numeric values and the app recommends a product based on the numbers.) I've done this with if statments and addChild()s
Now if they've gotten one result and they want to try with different values I need to removeChild() the product images from the stage.
So far I have this working by adding the addChild()s to an Array and using a for loop to remove them everytime the calculate button is hit. This works fine until I get to product double ups (some products can work across multiple values) then it errors.
Below is part of the code I've shorthanded some of the parts which are working fine as well as the repeat parts so that it's not just a whole blob of code
So I am creating a drag and drop game but the thing is that there is not one question for each statement. Is it possible to have say... 10 statments on the right and one "box" on the left where the statements can be dragged to, if its correct it stays there, if its incorrect it goes back to its original position.
I need to put a load of MC's on stage with the use of an array as such:
Code: for (var i = 1; i = 4; i++) { if (reg[i] == "singlewall") { var Wall:MovieClip = new wallClass() as MovieClip; mainClip.addChild(Wall); } }
I need a lot more then 4 though and I need a way to make new "Wall" variables Tried doing it with:
Code: for (var i = 1; i = 4; i++) { if (reg[i] == "singlewall") { var Wall:MovieClip = new wallClass() as MovieClip; Wall.name = "mc"+i; mainClip.addChild(Wall); } }
This does not work though, yields an infinite loop somehow
I've been developing an AS3 based 2D fighting game engine (like Street Fighter II), and have run into an issue. I'm using if/else statements in my onEnterFrame function to hit test my fighters. This works great in my first if/else statement, but for some reason it doesn't recognize my second if/else statement that follows the first. I know it's not the code, because if I bring the second if/else statement up and place it above the first statement (simply swapping the order), the hit test is successful. Why is it that only the if/else statement that comes first works, but any that come after it don't?
Here's my code: function onEnterFrame(event:Event):void { //MOVE THE char1 PlayerBase.players[0].x += plyr1vx; PlayerBase.players[1].x += plyr2vx; [Code] .....
I've also attached a .zip file with my published files so you can see the issue in the game (must be viewed in a browser for keys to work correctly). Move the left player using "A" and "D" keys. Make him punch with "Z" and kick with "X". Punch is the first if statement in my code, and kick is the second if statement (not working).
I'm trying to do a binary search in a for loop. However, flash does not like the following for loop. for(var select:int = Math.floor((min + max / 2)), var turns:int = 0; turns < input.length / 2 + 1; turns++, select= Math.floor((min + max / 2))){ if(input[select] > want){ max = select; } else if (input[select] < want){ min = select; } else { return select; }}
On the first line I get 1084: Syntax error: expecting identifier before var. I think I know why (I'm using , to separate the different statements), but how do I fix it? ; won't work since it's what the for loop uses. ( var select:int = Math.floor((min + max / 2)) ; var turns:int = 0); turns < input.length / 2 + 1; //etc does not work either.
I am working on a puzzle has four different eyes, nose, and mouth. These can be placed on a blank head. I want to be able to place all of the same parts of the face, and have a response that says "Beauty" if the mix up the pieces from different faces, it will say "Beast." I don't know how to set up the AS3 to make this work.
I am trying to check 3 scores at once. Is there a better way to code this... I want to check to see if they are all tied? If one score is greater than another? Seems like there should be a more cleaner way.
creating If loops with multiple-dimensions. What I am trying to do is simple in concept: create "boxes" (square movie clips) surrounding another movie clip (one to the left, to the right, above and below). Essentially what I have so far looks like this:
The problem with this is that as soon as I use the function createmoresquares, the for loop is run again for that second set of squares, but the original for loop to create the original set of squares is forgotten so that I end up with this:
I know this all seems very confusing but the basic mistake I am making should be easy to resolve. I have the same problem creating multiple-dimensional arrays.
I have created 2 separate arrays. One that contains all of the "options" and the other which contains all of the "products". Since the products change depending on the options, this way I can just update the products array whenever the filtering options get changed.So far, everything is working as expected. I can change the filters whenever I want and tabbing works exactly as expected.The problem arises when I click on one of the products.This brings up an informational popup. When that happens, I loop through the products array and the options array and set tabEnabled to false on all of them so that you can't tab through to items in the background. This works great. When you close the popup, I once again loop through the products and options arrays and set tabEnabled to true, but this is where the weird happens.
What happens is that you can now tab through the options and it goes through them all just fine, but when it gets to the end of the options, where it would normally start tabbing through the products, it skips them and goes back to the beginning of the options. HOWEVER, if you shift-tab from the beginning of the options, it goes to the products and as long as you are shift-tabbing, it will cycle through only the products. If you release shift and tab normally, it will tab through the products and when it reaches the end, jumps over to the options and tabs through those, once again skipping the products unless you are shift-tabbing.
I have traced the tab indexes and they aren't changing. I have no focusManagers implemented in the entire project. All of the various items are added programatically and dynamically at runtime. I'm at a loss here, and haven't been able to find anyone else with a similar problem... Any thoughts? Most of the options items are components (radioButtons and Checkboxes) if that might make a difference.On a side note, it also seems like whenever I set tabEnabled to false, when I set it back to true, I have to set focusRect to true as well. It seems to automatically set focusRect to false when you set tabEnabled to false as well. Is that normal? Seems like those should be independent of each other
for (var s = 0; s<mainSections.length; s++) {//grabbing the fabric types Handblocks,Screenprints,and Wovens for (var i = 0; i<subSection.length; i++) { //grabbing each fabric design of the fabric
What are the advantages and disadvantages of having just one main loop and having a main class control individual objects on your stage, in oppose to having each individual object have its own loop and giving it the responsibilities of doing what ever it has to do on its own. What are consider best practices.
I want to create a tab-enabled popup window in an AS3 Air project. Currently, when I press tab several times, the focus goes through all the components in my popup window and then starts focusing the buttons and TextFields from the components that are behind the popup. I have tried to solve this problem in two ways, but none of them worked. I will explain both of the methods here
Below is code that has a timer countdown that reads off of the computer. Below in bold is code to read "if it reaches the date, go to and play frame (2).
[Code]...
Below is code that is manual input - I had set up a dynamic txt field in flash named it : raffle_tix_remain When loaded on to the host I can manulally update the xml code and the change will take effect. raffle_tix_remain.text = root.loaderInfo.parameters.raffle_tix_remain;
My question: Since the raffle_tix_remain is a manual input from a user to xml Is there a way to tell flash once it refreshes and "raffle_ tix_ remain" goes to (0)zero gotoAndPlay(2); and let it play like a "sold out" sign i guess that would be a if else statement.
I have this array that contains the names of various images I want to load into Flash
var imageArray:Array=["image1","image2","image3","image4","image5","image 6","image7","image8","image9","image10"];
Now I want to create 10 different buttons with each button loading in an image. I know there's a way to do this with a for loop without having to make 10 different buttons and writing 10 different functions. Not sure how to correlate the members imageArray with the generated btns.
say i want something to happen, but I only want it to happen if more than two conditions are satisfied...is there a way to use multiple "if" statements?
If they get a question wrong in my quiz ( weakest link) the money clip goes to zero and it goes onto the next question. If they get it right the money clip advances and they go onto the next question. I want to include each time that it should only go onto the next question if all questions have been asked. SO i want an extra if clause in both sections, saying if current question is more than 11 go to '#game over"The questions are saved in the frame of the quiz
_root.qArray = new Array("question: A;B;C;D") _root.qArray.push("Question?:A;B; C; D")
There are 11 questions.At the moment at the section with choosing answers I have
function selectAnswer(n) { // correct if (answers[n] == correctAnswer) { _root.money.nextFrame();
I am trying to use if and else statements and failing. I am either completely missing their purpose, or just not writing the correct code. Scenario: I have designed a gallery that consists of animation in movie clips that are placed on the time line. With the if/else statements I need Flash to know what movie clip the user is on, so that the users next action loads the correct movie clip.
I want to join two if statements together and I'm unsure of the syntax. This is what I have but it is obviously wrong. if (Key.isDown(Key.RIGHT) or if (moveRight_btn.onPress){
How to do a rollover button where you rollout and it doesn't another option depending on the current frame. So I decided to open up another actionscript file and do a test so that I knew that I could make an if statement work in a barebone state. And I can't get it to work
First I stated my variable to be 0. I added 3 buttons. Button One makes the variable unit "myVar" to 1 and Button Two makes it 2. And my output button reacts to these variable changes. But it doesn't work.
ActionScript Code: One_btn.addEventListener(MouseEvent.CLICK, OneV); Two_btn.addEventListener(MouseEvent.CLICK, TwoV); Output_btn.addEventListener(MouseEvent.CLICK, OutputV); var myVar:Number = 0; function OneV (event:MouseEvent):void { [Code] .....
well after I made all of the conditional statements I came to the conclussion and the annoyance that I cannot retrieve the statements value, I need help:[code]it does not return the value.. why?
After searching for how to do this i discovered the Get/Set functions of as.3. The only problem is that i am not experienced enough with this kind of statement to get it working, so i have come here to seek from the wise and masterful members Here is some more info:Inside a fla called "Main" i have 2 MovieClips. The first is called Main and has a class linking to the com/Main.as file which has this code:
used to be able to handle variables and if else statements back in AS2.0, but I don't know how to go around them in AS3.0For instance, a code like this:
i have got a project im working on that requires if statements
basically im wanting to create 2 or more statements detailling if an answer is right, to move onto the next question but before it does that, to play an audio clip then move on. the next statement will be similar, but i cannot remember how to create them i.e. the syntax.
if i could get a response ASAP that would be gr8, as i have 2 weeks to get it done.