ActionScript 3.0 :: Controlling Program Flow Through Separate Classes?
Oct 31, 2009
I'm laying out my code differently for my latest project. I am making a game, and I am keeping the Flash API stuff in a seperate class from the game logic.It's an aproach I've never tried before, and it's made me realize just how little I understand good OOP design.
what I'm trying to acomplish is this:
the Game class contains the step by step program flow of the game. it makes calls to a GameUtils class and DrawEngine class, these other classes have the Flash API stuff in themSo what is the best way to get the game class to control the other 2?
a more specific issue comes up at step 3: ..how do I have the game class progress without using a listener?I'm thinking of creating a method of the Game class that simply increments a step counter of a switch/case statement and keeping each step of my program flow in each case.
Specifically, I have a demo of a flash game (sort of super mario style). In it I have two types of weapon - a simple fire and big fireball. I reviewed the code in order to learn flash better [I am very new - since around monday this week].
I saw that the program has a variable that keeps track of the number of uses I have left in each weapon. I tried to review all the places this variable was used but I couldn't find where it affects the drawing onto the screen.
I even tried removing the variable declaration and then testing it - so I may find all references to the variable -- By the way any convinient way of finding all references to a variable/method/class [I am using ADOBE FLASH CS5.5]? Also, I tried changing the variables starting value to "12" and I noticed that when I test the game, the weapon has 12 uses indeed.
So my problem:1. It seems that this variable is somehow affecting the drawing. Yet, I don't know how it does so since all the code I have found that uses this variable has nothing to do with drawing. It is all, logic, like
if(var <= 0){ var--; } else{ return false; }
Where is this influence coming from?get all references to a variable[like in eclipse ctrl+shift+g]?
use CFC's via CF8 to interact with an Access db. In 1 screen of my Flash8 application, I have to update up to 7 rows in a table depending on whether a screen field was filled in and each of these updates is an identical activity. Ideally, my code might look something like this:
My program reads a rather large data file that is crucial to the display of the program I am making.I have an event listener that waits for my loader to load all data from the file, and it then adds all the data (and parses it) to a 2d array.Unfortunately the program flow doesnt wait for the loading to finish, so when it checks the array, it is still empty because nothing is loaded into the array yet.
When the feed truly fails, then onXmlLoad never runs (or it breaks; not sure which; either way I don't have an issue). However, when the feed doesn't fail, both catchHttpError AND onXmlLoad run which creates a problem. I want to set this up so that its either one OR the other.
As I was looking into the properties of HTTPStatusEvent.HTTP_STATUS, I noticed that I can check status, but the problem is that status can either be 200 or 0 and this is not exclusive.
What is the proper OOP method of communicating between classes that are not on the display list?
For example: The Document class instantiates a new class just for loading in different XML files. This XmlLoading class should let the document class know when the xml has been loaded and parsed so that the interface can be built out.
From my understanding, events can only be listened to and dispatched through the display list, but since there is nothing visual with this xml loader, it doesn't make sense to me to make this class extend a sprite and add it as a child of the document class.
I'm having some trouble with the attached file, I've tried lots of things but just can't seem to control the movie clip. On click on 'Detailing' from the landing page a new slide *slides onto the stage 'content3'. Within this I have added a separate graphic with a tween 'gr_detailcopytest'. I want it to start only when it lands within the main stage's masked area. I also want the tween to stop too after its played out. I have tried adding a stop action at the end of the tween but this stops the tween altogether - Furthermore, when I click on another menu item and go back to 'Detailing' I want the tween to start again.
My Website opens, its written in HTML... There is a "Navigation" FLash at the top of the page which opens up HTML documents into the "Main Frame" below.Ok now... When the Website first loads up, In the Main frame of the page I want a flash swf to play as an intro to the website (Its a band website). Once the (intro) Swf ends I want it to tell the Navigation Flash Menu Swf to go ahead and show the buttons so people can navigate.Thats my first problem, or task to solve.2nd... If it is possible to control Swf's from an external one it must be possible to preload them aswell right? So what I want to do, is the site to load up... and all the preloading done from the Navigation Swf to account for both Swfs (Intro and Navigation)
I am having is trying to add objects to stage. At the moment I can not put anything onto the stage unless it is in my Main document class (Main). How would I add to stage in my player class and bullet class?
Code: package game{ import flash.display.*; public class Main extends MovieClip{
Im currently trying to make an as3 fantasy football application for my uni course, but am finding it hard to seperate the code I have written into classes (which I have no been told is the only accepted method for the marking scheme). So far I have an external XML file containing player names load into a datagrid component, there is then an event listener on the table which loads the player images into their correct positions on a pitch when clicked. I need to write more functionality for it including saving to XML and error handling but feel I need to sort out the classes situation before I continue and it is in for this week.
Are there any tutorials available that will show me how to create a multiple class program from scratch? I have 2 classes working with a fla and when I add a 3rd class every object I create comes up as an error.1120: Access of undefined property.I'm very frustrated cause I can't figure what the problem is. I have just migrated to OOP so I'm relatively new at this.
Intended idea: User is able to set a beat speed for a music making program.
I'm trying to use for (var i:Number = 0; i < (variable); i++) {"addChild" to duplicate movie clips to visibly show where the beat is and then move the movie clips at a constant rate to the left to get it out of the way and then eventually remove the child.
Problem: The movie clip isn't moving. Once it's spawned and in it's position as defined by the function, no outside function can control it.
Code: stop(); var yesorno:Boolean; var numba:int; var origbeat:MovieClip;
In flash cs5 can you have AS3 classes in separate files like in flashbuilder. I just want to make games with just actionscript and no flex/authorscript
I'm still struggling with the complete concept of custom event handling within AS3. I know I am close to a complete understanding it's just not falling into place yet.[code]...
I used to know how to do this, but have since forgotten, and can't remember how, or find the resource I used to learn it in the first place. Basically, I want to move a sprite made in AS3, with an external class. This is the code I want to use as an example, just so I can get to grips with it, and apply it in other things.
I need to allow users to preview audio files for purchasing. I have CF pages that return records form a SQL database. Each record contains the same swf file however, each swf file points to a different mp3 for previews of different audio examples. So far, everything is working fine. My problem is that I need to be able to stop the sound from one swf when I click to play a second swf .The only solutions I see in Flash forums deal with loaded swf files. These are not loaded files they are separate files within a page. The question is: How do control one swf from another swf in the same page.The following items have not worked: soundChannel.stop();,soundMixer.stopAll()
Im trying to add an exit button onto my program so when its clicked it exits the program completely.. I've tried some of the suggestions on the forums but they arnt working. what I have been using and its not working..
// CLICK to Exit exit_Btn.addEventListener("mouseUp", goExit); function goExit(evt:MouseEvent) { fscommand("quit"); };
I need to program a timer for a typing tutorial program. It needs to go to 5 minutes. When the timer gets to 5 minutes the movie has to go to frame 13 which displays the results of the typing test.
What I need to do is assign 5 separate dynamic text fields to 5 seperate buttons and at the same time to those same five buttons i would like to add 5 images that i would be able to change merely by swapping out the images in the file theyre in on the server.I would also like to get a nice transition between the images...ALSO i want to dynamically load the images for the buttons that will be used for switching from picture to picture(which im thinking i will be able to do after i know the how to do point the aforementioned things.)
Through tutorials I've found around the net I've been able to get most of the parts together... but i get lost because what they show you for AS2 they don't for AS3 and vice versa, at least that ive seen.so... I guess my question is... would i need to set up 5 seperate dynamic text fields on the stage and then set each one of them to one of the corresponding button. If so what AS code would i need to use to do so. And if not what would i need to do?
The other part of the question would be I know about the UILoader... would i be able to use it as my buttons and images, if so would i need 5 seperate ui loaders for both the Thumbnail buttons and the images or is there a way that would be better to do it? and once i do that would i do the transitions using frames and tweens like with AS2?
If I create a new flash AS3 file and create two blank keyframes in my actions layer I can add actions to each keyframe separately no problem. I can then easily switch between the actions frames from the menu bar on the left of the actions input panel. However if I try and do this on any of my projects i've been working on for a while when I create a new blank keyframe in the actions layer and try to add actions to it, I get sent straight back to my first actions keyframe and not a nice blank page. Can I even apply seperate actions to seperate keyframes?
This is NOT the same as my last thread as i am after three and NOT ONE as last time. In the attached movie there are three seperate movies loading into three seperate tweens. Please note that i am happy with this movie as it is, and do not want to change anything about it except for the script itself. It refurs to three seperate clips "b.a","d.c" and "f.e". What i want is for the script to incorperate all three clips under one name of "mc" And instead of have three seperate widths, "width 1","width2" and "width3" i want the script to also incorperate all three widths and heights into just one name of "width" and one name of "height".
I am currently working on a Flash socket client for a pre-existing service/standard. The service uses TCP flow control to throttle itself and the Flash socket is reading in everything as fast as it can despite not being able to process it as fast as it's being taken in. This causes the bytesAvailable on the socket to keep increasing and the server never knows that the client has fallen behind.In short, is there any way to limit the size of bytesAvailable for a Flash Socket object or throttle it in some other way?
I must be missing a step. I've set up a text container and font parameters correctly, and I've selected multiple columns. The text, however, won't flow from one line to the next. I'm working from Classroom in a Book, Lesson 7, on Using Text. I've never encountered this problem before in other Adobe programs.
I am trying to get my text progression to flow right to left but flip it so that instead of tiliting your head to the right to read it you would tilt your head to the left. I had originally transformed and flipped the text box which worked for english text. But there is an option to change the language to chinese and when you do, the chinese character display upsidedown. Do you know how to handle that?
Something that is similar to the Cover Flow in iTunes.
I can use Adobe Flash, Flex, or pure html/javascript.
HOWEVER, I need a pointed to production ready code. I've looked at plenty of examples in both Flex and HTML that aren't ready for prime time. No demo code needed.
Here's my requirements for production ready:
1) Memory leaks are under control.
2) Works like a river with larger data sets, paging in sub-sets in some set number. The component/code needs to be able to handle 100+ items to flow through, preferable up to 500.
I'm stepping through my code to figure out why a certain function takes more time to run the first time it gets called than on successive calls. The code flow for each function call is the same up to when a dispatchEvent gets called. I'm pretty sure it's different afterwards, as that call takes a lot more time the first time around. Unfortunately, I have no idea which other parts of the code chew on this specific event and thus cannot step through the handling of such event.
The question: is there a way to either figure out who handles such events or magically step through the handling code without explicitly setting breakpoints there?