ActionScript 3.0 :: Drastically More Efficient Than 2.0?
Jan 13, 2009
Why did Adobe decide to drastically change the language this much?The only reason I can think to revamp something that before was quite simple to something that is more complex is for efficiency. From what I've seen the listeners help reduce filesize by having you only include functions you need, but it also seems like they're trying to become like larger languages such as java and c++.
While I'm sure it's good code ethics to separate code from movieClips and buttons, it's damn frustrating, coming from the 2.0 background. The only reason I can fathom as to why they did this was because there HAS to be some crazy performance boost or something.
Otherwise it just doesn't make sense to axe it altogether.Maybe I'm just complaining about losing novelties but so far I don't like the changes Adobe has brought to Flash.
what are some tricks and tips for making editing across frames quicker and more consistent? For example, if I have an animation with many frames and/or multiple scenes is there a way to add or move an element so that it appears the same way across all of the frames?
I can make a slideshow by importing 30 or so images and using the timeline. I can make a slideshow by importing 30 or so images and using actionscript so that the timeline is realtively short.
What is the best way? I discovered how to do it by loading a movieclip with the image, but that is risky because depending on the connection, it sometimes loads too late.
What is the most streamlined, small filesize way to make a long slideshow? Can you point me to posts that talk about this or tutorials?
interested (or proficient) in multitouch technology with AS3I'm currently doing a multitouch project (ya!), in which touch point and gesture detection is required, using the beta multitouch API in flash, the program does compile but there're some deadly issues about it:
1. The program(in swf form or windows projector form) lag frequently (about 1-3 times in 10sec) when I'm doing gestures, but it runs withno lagging when I open it by dragging the swf file to IE(and other browsers too), wield. (I'm using win7)2. Swipe gesture is not supported, which makes me really isappointed,by the way, touchEvents and gestureEvents can not be used at the sametime, but I've ever seen some smooth flash programs which apparently allowtouch and gestures, how do they do that?Well, the program is very simple but laggy(except swf in IE, of course), so I don't think the main problem for lagging is my code, I wonder if it's just me or it's the problem of the beta API or Flash player, but it's still not comprehensible
I'm trying to setup VIM for editing Actionscript 3 for some upcoming Flash projects. I dislike working in an IDE and prefer VIM. Right now, I know that I want:[code]I've tried setting up Omnicomplete but was running into issues.How can I set up Omnicomplete with tab completion properly?Where can I find a good AS3 syntax file?What is a good AS3 compiler for terminal/bash?
for (var k in dictionary) { var key:KeyType = KeyType(k); var value:ValType = ValType(dictionary[k]); // <-- lookup // do stuff }
This is what I use to loop through the entries in a dictionary. As you can see in every iteration I perform a lookup in the dictionary. Is there a more efficient way of iterating the dictionary (while keeping access to the key)?
What way of reading and storing data is fastest for AS3. For debugging right now it is just reading the raw XML, but I suspect it would be faster if I made them into nested arrays. Would parsing the XML into nested arrays to be read later be the most efficient method?, or is there a better way to read lots of data?
I'm doing a lot of keyframe masking of vines/flowers for a project I'm working on, and it looks really good but is, of course, very time consuming.I'm curious if there's any techniques/tools for making these animations faster, and more importantly making them more editable later. I'm afraid I'm going to keyframe out entire sections of animation only for the client to say "Looks great, but can you speed it up just a touch?" and I'll have to rebuilt it all from scratch again.
In main.mxml I have a bunch of textInput controls a combobox and a few checkboxes that I would like to be able to clear with some sort of loop. Right now, I do it like this:
[Code]...
I read a post on SO that recomended adding the controls to an ArrayCollection with the creationComplete event. I tried that and it worked fine but it was not any more elegant than what I have now. All of these controls are in mxml format and not generated with AS by me. I also tried looping like this:
I can't get past that part though. I cannot find a way to reference the values of the control.
I have an activity with 6 buttons. Each button loads a movieclip from the library. Users can click the buttons in any order. The code below shows my long process of checking to see if other movieclips are present and removing them before I add the new movieclip.I'm wondering if there's is an easier way to do this. So far I've only written the code for the first 3 buttons. It is long and creates plenty of opportunities for syntax errors
var answer01:MovieClip = new swap01target(); var answer02:MovieClip = new swap02target(); var answer0
I have a google map in my site, and have all the code in the main timeline. I'm pretty sure this is affecting my intro animation due to google maps importing. Is there an efficient way to do this, so that it won't affect the intro?[url]...
I was wondering if there were any tips on the most efficient (least processor heavy) way to add some ambient animation to a set of sprites on the stage (possibly hundreds). i was thinking of just having them pulse or fade in and out a bit every so often just to show some movement.
For this I have up to 16 movie clips with up to 3 fields in each that need truncating. So as you can see 3 x 16 = 48 * # of excess characters; Potentially VERY slow.My current code is:
Been fooling around with buttons (OVER and OUT effects) and I�m looking to find an efficient way to work with them. Currently i�m trying SWITCH-statements, which seems to be in the right direction. However, it still produces alot of code. Is there a way I can simplify the code below?
I'm designing the UI for my level editor and I found managing multiple menus and buttons can become complex and annoying to program for every single situation and for every single button. Which as you can imagine it becomes tedious.Imagine you have 2 buttons both of them open drop down menu's when clicked but I only want to have one menu open at any time.To further complicated the situation in one of the drop down menu's there is a button that when clicked it'll open a further sub-menu in place of the previous one.Here is how I've gone about programming such a situation.
PHP Code: [code]....
I want to open menu 1:
checks if any menus are open
if so close them and open menu 1...
...and so on for every menu further multiplying the amount of programming every time I add a new menu. I have to go back to the buttons that open all other menus and program for the occurrence that, the new menu may be open.I was thinking some kind of function could handle all the menu's but my brain is to frazzled to think.
I'm building a website with fadein/fadeout transitions between sections. On button click, a white rectangle on the very top layer (filling all the screen) is faded in. Once ended, the section changes and the rectangle fadeout is started.
It technically works, but I've noticed that the first transition is not fluid, while the next are fluid. Does exist an efficient technique to achieve the goal?
I am developing a Jeopardy-like game in Flash CS5. I am familiar with Flash CS5, but new to AS3. I don't know the language well, and to top it off my code hints don't work in Flash CS5. After researching this I've learned it is a bug that Adobe has yet to resolve. Anyway I am trying to program this game with very little knowledge about the language I am using. I've been watching tutorials and googling specific questions, but it comes down to the fact that I don't speak the language and don't have the resource (code hints) to make the language more available to me.What I am trying to do is simple:Imagine a Jeopardy game board.On the answer screen there is a button that takes you back to the gameboard. Here's the catch: the gameboard must remember which boxes have been chosen and not display those dollar values.
I understand how to program the buttons. I've been using gotoandstop for that. I am trying to figure out the best way to program this so the game remembers which boxes have already been chosen throughout the entire game.The specific question I have at the moment is how to reference an instance on another frame than the frame that has the code on it. For example: The gameboard is on frame 5. When the category A for $200 box (buttonA1) is clicked a Boolean var called 'chosen' is created and assigned the value of true. then the gotoandStop command moves the game to frame 10 which is where the question for category A for $200 lives. There is a button on frame 10 that takes you to the answer, which is on frame 11. And on frame 11, when you click on the button to take you back to the gameboard, I want it so that if chosen = true then buttonA1.visible = false. I get an error because buttonA1 doesn't exist on frame 11 - it lives on frame 5 and I have no idea how to reference it so that it will not be visible.
I'm curious how, in ActionScript 3, to parse the font attributes of an HTML formatted content string. Lets take the following example content string:[code]
Ok, so I've tried a lot of different ways of loading background music in Flash, and now I'm wondering what the most efficient way of doing it really is.
I have my DocumentClass, and I have a MusicPlayer class. The MusicPlayer class controls the volume and mute function, as well as holding all the visible elements of the music player.
Where should I load the music initially? From the DocumentClass at the startup? Or in the MusicPlayer after the site has initially loaded? I want the music to start playing as soon as the initial loading process has finished.
I'm working on a game and I want the background of the game to move or the view of it at least. I know that it is possible to create the image and have it move left and right, but for larger images this can create lag since it's moving such a large movie clip. If I were to use a mask the size of the viewing window, would it keep the whole background from being drawn and save on processor? Is there any other method for handling this efficiently?
To save people from reading too much, this is the "abbreviated" version, while the next post will contain the "full version" in it's original glory. Here is the deal. I have a "User" class with 4 properties, all Strings. I want to store those instances inside of a "UserList" class. The UserList class has several properties to sort through and find users. Now, at least the "getUserByPrefix" and "getUserByNickname" require to retrieve values very quickly, so (I'm guessing) that options like this are not a good idea:
I am populating an array employees (shown at the bottom) with data from a MySQL database table. To locate employees that statisfy a complex criteria, I am using a loop like so:
var emplyees:Array = new Array(); var i:int;var counter:int=0;for (i=0;i<employees.length;i++){ if((employees[i].city=="London")&&(employees[i].age<30)){ counter=+; }}if(counter==0){ trace("No such emplyees")}else{ trace("Found "+counter+" employees.")}"
It works fine, but I think it is cumbersome and potentially slow with large amounts of data. Is there a better way of doing this?
I am designing a game that has different rooms and each room has multiple unique images in it in addition to the background. For the record, the size is about 300K or less for each room background image and 1 - 100 K per graphic. What I am currently doing is importing all of the images into my Flash file, making symbols of them and then loading them as needed with ActionScript. Assuming this game will have many many rooms (maybe up to 100 or more), is this the most efficient (and quick) way to load the graphics? Or would I need to load everything from the graphic files when starting the program or perhaps load the graphics from files dynamically as needed?
I haven't experimented with external SWF's purely as image/sound libraries etc. I generally embed assets and/or load in sound/textures/geometry etc dynamically.
However as I'm starting development on my first game, I would like to use an asset SWF per level, so all images, sounds, models etc are contained in this SWF, nice and clean, just one file loaded per level. No code, just assets.
Not only for the structure, but embedding transparent PNG's is very important, as obviously uncompressed PNG's are pretty hefty, and flash does a great job of it.
So for those with experience of asset SWFs, what do you think is the best method of loading/removing/accessing/managing them?
Yeah, I can't workout how to make them swapVis basically. Any more efficient means/methods would be welcomed.I feel like my code is getting too straight up and down and not looking out to make it shorter etc.