ActionScript 3.0 :: Display List And Organizing Classes
Mar 6, 2010
I'm making the game Breakout as an AS3 application using OOP. I am getting very confused though. I know that objects should be only responsible for themselves. But this is where I get stuck, they need to communicate as some level to add and remove screens, and I am getting majorly confused as to what is going too far, when it could maybe achieved in a simpler more OOP way. I've worked out the hierarchy of my classes, in terms of where they are being added (I think). I've added a screenshot of the hierarchy.
Have I got the order right based on OOP principles? Like, Introscreen will listen for play being pressed then call a method of the document class that will remove introscreen and then attach gamescreen. Is that right? Another thing that puzzples me. It seems to me if I made a level and put the paddle and the ball in that, then arranged all the bricks in that level, that I'd be duplicating work (based on the fact I need paddle and ball for level 2 also). So it would be best if I could have gamescreen with paddle and the ball and then add level1/2/3 to display list which would therefore set up the appropriate brick placement. But then, wouldn't that mean that I couldn't do hittests because my level 1/2 or 3 wouldn't be a sibling to the bat and the ball, them residing as a sibling in the level's parent class?
I want to create a game using pure AS in FlashDevelop.
The problem is that there are some methods I want to use, and because I don't like copying/pasting code, i decided to define in classes. Here is an example:
[Code].....
When I hit compile, I get an error like Call to a possibly undefined method distance through a refference with static type Class.
I would like people to be able to change this custom scrollItem class, but as the scroller class has some interaction with this scrollItem class (sets id etc), I have the scrollItem class implement an interface to guarantee the presence of the required methods.This works fine, but only if I keep the type of the scrollingItem class within the scroller class. I would prefer to substitute in the interface type for each scrolling item. However, I cant, as the interface is not a DisplayObject. I can get around this by casting the interface type as a DisplayObject whenever it needs to do DisplayObject type things, but this seems like a hideous hack.
I have a list containing display objects from throughout the application (insertion order). I want to process the list either top-down (parent, child) or bottom up (child, parent). The only requirement is that either a parent is processed before any child or vice versa a child before its parent. What is a good approach? This question is not about sorting a list. It's about retrieving the depth of a particular display object.
Example Display list: A (root) B1 C1 C2 D1 B2 ......
My list: list = [E1, F4, A, B2, B1, C3, ..., N9, N8]
Bottom-up: N9, N8, F4, E1, C3, B2, B1, A
Top-down: A, B2, B1, C3, E1, F4, N9, N8 Does not matter if N9 before N8 or N8 before N9. Important is that any N is before M (first run) or any M before its children N* (second run).
How do I identify all the display objects in the display list in ActionScript, bellow the one that I have clicked? All the other objects are shadowed by the first one. What if other objects have visible parameter as hidden?
It's my understanding that a display object cannot be in the display list more that once.So if I add something to the stage shouldn't a second addition of the same object replace the first? for instance:
[code]...
there should now only be one "myDisplayObject" on the stage.
Is there any way to get a list of custom classes? I'd like to be able to dynamically access the custom classes (that I've created by the "Export for Actionscript" checkbox in the "Linkage" dialog) without having to hard-code their names into the script.
Is there a way in AS 3 to list all classes and their associated methods? Or at least a way to list the methods within a particular class? It seems that it's all so overwhelming and although I'm well versed in Lingo and have a handle on the Lingo dictionary,I feel as though the AS 3 library is dauntingly big.
I'm working on a project where I need a sort of quick list of class functions.
To clarify, say a user starts typing MovieClip. I want to bring up a list of classes as the user starts typing, complete with the package name. Kind of like the action you get when typing in a Google search or something.
Really, I just need to find an XML or JSON list of all classes, including packages, that I can load when the application loads up, so that I can create the quick list.
I've been scouring the net, but perhaps I'm not formatting my search query quite right, and I'm getting no hits.
I'd really hate to have to create a program that goes through the LiveDocs and parses all of the HTML to output a file with all of the classes.
I have created a list of Classes in a school in Excel and saved it as an XML file. In each row it contains the name of the class followed by a list of class members. In col 1 is the word "Class", in the next col is "7C1" ( or equivalent) then each cell after that contains the names of the class members. I can load the XML file no problem, and display the full contents using 'trace', but I don't seem to be able to extract just the class names and student names to use in a Flash application. The code I'm using so far is attached.
I have several Flex applications in a project, and I would like to know if there's a way to get a list of the classes (and ideally, other assets) that are being compiled into each one. I want an easy way of making sure I've kept things separate and there aren't unnecessary dependencies. Any ideas? I'm running Flash Builder 4.
I would like to check if object has a DisplayObject as one of it's ancestors and perform some operations on it if it has. Any quick and easy way to do this?
What I want to do is compile an .fla with nothing on the stage but several of the movieclips are set to export on first frame in the properties linkage manager. When the .swf runs, I want to loop through and get the names of all the exported assets so I can place them in an array and manipulate them later.
I want to turn the code over to the art team where all they have to do is attach my .as file for the document class. I will not know what they name their movieclips, yet they are instructed to name them alphabetically according to what order they should appear. (My code is a sort of self contained slide show).
Is there a way to get a list of all the skin classes that are in the current application? I'm using Flex 4.5.1.
Here is the loop that I'm using now to get all the skins,
for each (var item:Object in styleManager.typeHierarchyCache) { for (label in item) { if (label=="spark.components.supportClasses.Skin" ||
[Code]....
The reason why is because I want to list all the skins in the application and then be able to apply them in real time so I can see what they look like.
I have x amount of classes in a package eg. "com.trevorboyle.lotsofclasses" and I keep adding more (These classes will probably all be static and will probably all extend the same class).I wish to create a drop-down list of all these classes, preferably without having to manually create an array myself.
Once a class is selected from the list, I'll be able to use getDefinitionByName to return it, because I will know it's name at this point.The question is, as I believe there is no support in AS3 to list all the classes in a specific package, is there a design pattern that handles this?
I've recently started practising test driven development - thus far I've been working on a library project, so I've organised my FlexUnit tests in a separate FlexBuilder 3 project, linking against my library's swc.Now I'm working on a web app and wondering how best to organise the tests for this. At the moment I've put them in a src/test package in the project I'm testing, with the test runner application at the same level as the default application. Is this the best way to do it, or should I have a separate test project and link in the source for the application I'm testing?
Basically an array if fed to callThumbs() which iterates through it and compares the entries with preloaded XML _my_images. If match is found, it's sent to processXML which loads all relevant info and loads a .jpg thumbnail. All this is then fed to createCell which creates a specific cell with position values depending on x_counter and y_counter values (4 cells in a row) and adds the cell into a container _container_mc.
The Problem: This all works fine and looks fine, the problem is that the cells within the container do not display in descending order. They are in random order, probably because some of the .jpg's takes longer to load etc. How do I easily organise the cells within the container in descending order by the XML .id value? Or how do I tell Flash to wait till the thumbnail and data is loaded and the cell created and added?
//Flash (AS3) function callThumbs(_my_results:Array):void { // selector = 1 for specific items, 2 for search items var _thumb_url:XML;
What's the best way to organize functionality modules in a flex project? I saw some people put all modules in one view stack ,and so the application interface is only load once, but when the application get larger, the whole compiled swf would be very big. If we put swfs in different pages, we pass request parameters through HTTP request, we lost the benefits from flex RPC services, slow loading, and we can't see any superior comparing to php,asp,jsp... what's the best practice to organize front end architecture?
I really want to start work on a game idea I have using PaperVision.The largest/most complex thing in Flash I have ever made is probably my last project which is an interactive school map for my A Level [URL] . Check it out, its a little laggy in the browser but it is designed to run in the flash projector from the desktop.I used around 10 .as files and dumped all my graphics in 1 .fla as sprites and stuff.This is ok (...ish) as I had a large 'main' file and a massive 'main3d' file which (324 lines which is big for me :S lol).
Im planning on making it a big, 3D adventure style game with lots of elements and AI things. But how do I organise my code? If I continue like this, I'm going to have a few mahasssive files and lots of small ones.How to the 'pros' organise their stuff? All the time I see source codes for small experiments which are great, but I have never seen any layout overviews of what files they used and what kinds of things they put in them. I also have no idea how complex environments, where objects need to update to add/remove elements without having to check the position of the player every frame.
How should I go about organizing the scripts for an invenotry system in an RPG? Should I use arrays for this? I've already assembled a basic movement system and a basic item inventory system... now how do I go about assembling this system?
In an attempt to organize my code, I'm trying to split up my (lengthy) main controller class into separate files, but my new files must still have access to the variables and functions of the main controller class.I'm trying to cut and paste code from my controller class into a new class/file, allowing the controller class to call the new class, and allowing the new class to have access to the controller class's properties and function.Assuming I'm not totally bludgeoning appropriate design patterns, below is my unsuccessful attempt at accomplishing this task:
I have a task. I must make an interface/application with a list of songs, alphabetically sorted by Genre / Mood. That also gives you the possibility to add more Genres/Moods and it should be easy to browse them. When a specific Genre/Mood is selected, the corresponding tracks appear, and when a specific track is selected, it should play in a player (see description below), and information about this track should also be displayed.
There should also be a Player included with Start/Pause/Stop buttons. It should be possible to see the full length of that track (time duration). There should be a loading bar and visible progression bar (like on Youtube) and it should be possible to drag in the progress bar to get to the specific point of the track. Is there a template for this sort of thing? Or how do I make this sort of menu? I guess it is some XML combined with some ActionScript?
I'm having alot of trouble tracking down the name of an object on the display list so i can removeChild Is there a way to trace every object on the display list so i can get its name and remove it? my stage is changing dynmically and i can't jut trace each object through a whole whack of code.
I have a list box in my flash file that I would like to display a string from an xml file that has been run though html entities in php. So for instance I need the string.
Code: Hey "Leonardo£$£$()*%£% '"' [1999] to display as Code: Hey "Leonardo;$;$()*%$% '"' [1999]
I can get this to happen in my dynamic text boxes by using .htmlText to display but I have no idea how I would do this in the list box?
All it returns is 0 and [object MainTimeline]. Is there something wrong with Flash, or did I do my coding wrong? The objects I put on the stage should be on the Display List, right?