Flash :: Best Way To Handle EventListeners/Handlers For 1000 Buttons?
Aug 18, 2011
I'm working on a game where users can win buttons/badges as awards. I estimate there will be around 500 awards, in all.I want to allow the users to sell their duplicate/unwanted badges to the bank and buy new ones from the bank.I am showing the badges in multiple awards frames. Below the badges, I show the count, along with a "Buy" and "Sell" button.My question is: What's the best way to handle SO MANY buy & sell buttons? Is there a way around coding 1000 eventListeners and 1000 eventHandlers?
One possible solution is to name my buttons, incrementally, like "buy_mc1", "buy_mc2", etc. Then do a loop to create listeners for this["buy_mc" + i]. However, I would then have to make VERY sure that I link these back correctly to the awards.Currently, I have an "award_mc" field in my database, which stores the name of the movieclip in my .fla. From that, I can access related assets, like the count field, like: this[db.award_mc + "_count"].txt.Unfortunately, this method does not lend itself well to looped access.Maybe I can create an array of movieclip names that are in synch with the buy/sell buttons. For example:
myArray = {aMissionAward, anotherAward, ubernessAward};
My buttons would be: buy_0, buy_1, buy_2, etc.
When someone clicks a button, I can link buy_2 to "ubernessAward", then look for "ubernessAward" on the database.How can I get the number from the button, though? Even if I can loop through setting up the eventListeners, will I have to set up individuatl eventHandlers to process the correct index number? I was not able to get this to work with buttons on the stage. Apparently, buttons are a static class. MovieClips are dynamic, so I was able to get this to work by using MovieClips. Here's what I did:
Added 3 MovieClips to the stage.
Named them "mc0", "mc1", and "mc2".
Add this AS3 code:
for (var i:Number=0; i<3; i++)
{
this["mc" + i].addEventListener( MouseEvent.CLICK, onMcClick );[code]....
From here, I can tie the awardKey to an array of MovieClip names. Then, I can use the MovieClip names to read my database.This is why I come to Stack Overflow, FIRST, when I have a problem. :)
View 2 Replies
Similar Posts:
Aug 13, 2009
I'm using Flex3 building my AS3 projects for some 3D effects. I am going to create 1000 polygons(or rectangles) on the scene, without texture mapping. It seems the native 3D api of AS3 needs quite a lot memory:
[Code]....
here i created 1000 sp on the scene, the runtime memory cost seems to be more than 60MB. if increase to 2000, memory goes to 120MB. It seems the FVM's native 3D api generates a bitmap texture for each sprite, it's pretty memory costing. The alternative way may be is to draw the projected vertices of the sprites frame by frame by using local3DToGlobal and drawTriangles() to render the scene, but that could be slower. So is there any way to render many instances using the native 3D feature with costing much memory?
View 3 Replies
Jul 15, 2010
I'm trying to assign Event Listeners to buttons in an array and increment the function referenced in those listeners by 1 so the functions have unique names, is this possible?
ActionScript Code:
//ROLLOVERS FOR MENU
var btnsAry:Array = [hs1_mc, hs2_mc, hs3_mc, hs4_mc, hs5_mc, hs6_mc];
function setButtons():void {
for (var i:int=0; i<btnsAry.length; i++){
btnsAry[i].id = i;
[Code] .....
View 9 Replies
Sep 18, 2009
I have this function that I want to apply to 10 different MovieClips that are on the stage by using an array. I wrote the array, I just need to know how I can apply the array to the function. [code]...
View 3 Replies
Mar 31, 2010
I'm fairly new to AS3. What I'm trying to is create a multiframe SWF (main.swf) that loads several external SWFs (ext.swf) on each frame. I've got that to work. My problem is that I'm trying to assign actions to buttons/MovieClips in the external swfs that navigate to different frames in my main.swf. I want to avoid hard coding the buttons because there are about 30 external SWFs and they don't all have the same number of buttons within them. The approach I took was creating two arrays in each ext.swf, one to hold the button instances and the other to hold the frame destination labels.
Code:
var buttons:Array = [link1, link2, link3, link4, link9, link10, link20, link21];
var links:Array = ["c1", "c2", "c3", "c4", "c1", "d1", "d2", "e1"];
Then in the main.swf, I created a function that loads the ext.swf and runs a "for" loop that assigns EventListeners to the contents of the "buttons" array to go to the frame labels defined in the "links" array.
[Code] .......
The "for" loop in the "assignLink" processes and traces the "links" array just fine, but it always assigns the last array item to every button.
View 3 Replies
Feb 6, 2010
I'm creating a scrollbar gallery from a tutorial on this site. Though I've completed the tutorial, and customised the gallery to my own needs, however I'm trying to make a very small change to it - and no matter what I do, keep running into problems. I'm trying to replace the rectangular handle with my own customised handle - a (20 x 20) 'circular' png image that I've imported into Flash, made a graphic and stored in the library (though I understand it can be imported using actionscript, like the other images in the gallery).
[Code]....
View 7 Replies
Jun 12, 2011
I have been wondering how other people handle displaying different buttons at different times. For instance, let's say that a user clicks on a button and once they do that you don't want them to see that button again until they do sonething else. in the past I have handled this by simply changing the button's 'x' or 'y' so that they are moved off the screen. One potential problem with this is that the button is still active in the tab order
View 2 Replies
May 29, 2009
i have a movie clip (mc_1) inside of this movieclip i made
-one button ("start") : by its event Roll_Over the animation (of mc_1) starts
-ten menu buttons (b_1,b_2,b_3,....,b_10) : at first they're not on the stage, but they appear one by one,frames by frames, after I rolled over "start".
-one invisible button (inv_btn): placed right under the area occupied by those previous buttons..by its RollOut event i make the menu rewind so the ten buttons disappera one after one other.
now i have to put the menu buttons inside an array (cause i made a script for dynamic loading images from XML) but i receive #1009: Cannot access a property or method of a null object reference. this is why i put in the array buttons that at first doesn't even exist...and when the menu closes disappear again..how can I handle the situation?
//this is the array code i put in the first frame of mc_1.
var bottone:Array = new Array(b_1,b_2,b_3,b_4,b_5,b_6,b_7,b_8,b_9);
for(var i=0;i<bottone.length; i++) {
var but_var:MovieClip = MovieClip(bottone[i])
but_var.buttonMode = true;
but_var.id = i;
View 3 Replies
Nov 1, 2008
The code I'm building creates two MovieClips on the stage, in one it instantiates several text boxes and in the other some buttons.
What I can't do is access data from the text boxes (e.g. textField.text) for use in the functions called by the eventListeners attached the buttons. I had the system all working nicely before I placed the text boxes and the buttons on separate movie clips.but this structure makes it much tidier to refresh the text I'm using.The button functions are fine with variables created prior to the building of the text boxes.
Am I failing to address the text boxes correctly (because they're on another movie clip) or is there a stage / movie clip property I need to set so they can see each other ... or is this something else altogether?Could it be that the buttons are created before the text boxes?
View 5 Replies
Mar 9, 2012
I have a flash app running on 1200 machines on a local network. Currently, the app polls the php server every 10 seconds, and is returned a 14 byte string with the state. If the state is new, the app changes mode and gets new data from the server. 1200 machines polling every 10 seconds to pick up ~8 state changes per day seems like an awful lot of network traffic for this.
There is other traffic on the network (streaming video, web surfing etc). When the network load gets high, some of the machines loose the ability to communicate with the server and hang. When I run 400 machines I don't run into this problem. Looks like a scalability problem. What would you recommend for lightweight communication between server and 1200 clients? Remoting with AMFast? XML Sockets? Something else entirely?
View 2 Replies
Jun 29, 2010
I want to use http streaming (ie. partial download) to serve some videos (medium to HD quality) to public.Idea is to have videos on server and offer some web page with embedded video player for user to watch selected video.Planned capacity is about 250 to 1000 daily views, with low concurrency requirement (ie. not many users in parallel watching video)I am thinking of complete solution like FLVPlayer or flowplayer to support this.What bothers me are network bandwidth requirements (what is minimum kbps) mainly, and this video player performance when in "heavy" use.For "heavy use" I consider adding possibility to stream many separate video files that I will add in back-end (via XML file or similar) and don't have experience with these players.
View 1 Replies
Apr 27, 2011
Whenever I test or publish a CS5 movie that uses TLF text (no matter which font), the .swf displays all elements but the text. There's simply nothing there. I'm on a mac with Snow Leopard, 10.6.7. This only happens as soon as I pass the 1000 frame limit (before, everything displays fine). Reaching wit's end here. Anyone know what causes this, and more specifically, how to solve it?
View 1 Replies
May 29, 2011
I have a Button Component on my Stage.
When I go to compile I get the following error.
1000(Ambiguous reference to Button)
Cant seem to find what is wrong here.
View 2 Replies
Feb 3, 2010
I have a text box (dynamic) whose value is being changed by javascript using the setVariable method. Bascially I'm now stuck in getting the flash application to recognise when the text box value has been changed, onKeyUp etc.. do not seem to work. The below code works if the user types in to the box, but if it is changed via JS it does not pick up the change, therfore not populating my variables. What Listener should i be using?
[Code]...
View 1 Replies
Sep 11, 2010
stop();
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
[Code]....
load the swf once the flv is done playing? I think I'm just not loading the swf right because the flv plays correctly.
View 1 Replies
Dec 15, 2011
I'm trying to use an eventlistener in a class, but I can't make it work!
The class is ment to handle a HTTPRequest, so I'm using ResultEvent.RESULT.
public class GetXML
{
public var content:Object;
public var url:String;
[Code].....
View 2 Replies
Feb 2, 2011
I am creating a small image gallery and I am creating the actual images dynamically. The images are stored via json and I am listing them underneath each other. No I can get all to work and they all load and position each other correctly underneath. What I would like to do is assign each image a addEventListener so that when clicked they pass the necessary details onto another function which will then display a larger image simple and basic but I am having trouble with adding the eventlistener. each one gets an eventlistener to it but when clicking on each one they all show the details from the last one. The code is attached to the main gallery container is as follows:
[code]....
View 2 Replies
Apr 13, 2011
I want to know if there's a 'correct method' in removing a MovieClip off the stage. I am currently programming in simple OOP and I have 2 classes, for now lets relate them to Tree and Fruit. The fruit is the child of the tree.
When the fruit is being clicked on. the tree AND the fruit will fade off and I will perform a removechild only on the tree. So I'm now puzzled if just removing the tree would automatically remove everything including the fruit(without performing a proper tree.removeChild(fruit)) and all the eventlisteners attached to fruit?
If not, must I perform remove child on every single MC/Sprite I have added onto tree/fruit for the best performance? Would like to find out how you go about doing it the 'correct way'.
View 1 Replies
Jan 16, 2012
I have 20 buttons on my stage, and rather then have 'removeEventListener' for each button, i wanted to use a loop to do so. Heres what i have done.
Code:
//array containing the buttons instance names.
var soundArray:Array = new Array();
[code].....
View 14 Replies
Aug 26, 2010
How can I add a set of dynamic images and then add event handlers to each that trigger a different event? My scenario is that I have a remote service that grabs a set of data (ArrayCollection) that has a className, classID and classDescription. I would like the images to have event handlers that trigger a new panel display that would show the "classDescription" for the particular class that is clicked. My problem is figuring out how to retrieve the proper set of data and adding the images properly to the panel.
View 1 Replies
Feb 17, 2010
I'm now convinced there is some sort of mechanism built into Firefox that seems to turn off the mouse event handlers in flash applications on the html page when the user scrolls the page or does any other sort of mouse interaction with the web page itself. This issue does not arise in IE (go figure that one) or chrome, but does seem to arise in Safari as well. I'm sure theres probably something I need to do to the html to make sure the flash mouse events are always active and superseding whatever mouse events are built into the browser. At first I thought it might be because the one nav bar i did was rather complicated with lots of layers and AS on multiple frames, but when I did a much more simple navbar with only 1 frame of AS, i still run into the same issue.
View 3 Replies
Apr 13, 2011
I am trying to learn working with multiple classes in AS3. I came across a problem which I can not solve or look up. I have searched the documentation but I can not find a clear sollution or answer.I have flashfile with a document class (main class). Within this class I use another class (circle class) to get a instance of a movieclip on the stage.
Now my problem is that I can not place the eventlisteners to the circle class. normally I would write something like this. addEventListener() but this doesnt work. But I really need a way to get this to work, because I want to make a mouse click event which must be linked to the circle to respond to it.
View 7 Replies
Aug 14, 2008
I'm going to fix the controls later, but for right now you would just hold the button and click on the MC. how to organize a 1000 MC's.
Here is the AS:
Code:
thing.onPress = function() {
funcName(circle,"circle","circle1",-8,11.6);
};
[code]....
View 2 Replies
Sep 16, 2011
Currently one of our teams suffers from a very strange phenomena: after manipulating the z property of a MovieClip and changing the stage quality some event listeners of nested MovieClips seem to disappear (or at least not react to the proper events any longer).
The problem also only appears when doing both, changing the stage quality and manipulating the zproperty.
Here is a simple class demonstrating the issue:
package {
import flash.display.StageScaleMode;
import flash.display.StageAlign;
import flash.display.Graphics;
[code]....
View 4 Replies
Feb 23, 2011
I've created a grid of 3D cubes using modulus, and the 3d cubes are were created from the Math and Flash Tutorial, if you are interested it is here.What I am trying to accomplish (and it works, just the performance is lousy). All the cubes in the grid are inactive until the mouse hovers over them, then they start to rotate, and once the mouse moves off them they continue to rotate...
So to create the grid of cubes:
Code:
public function FlowerMenu(){
var rowY:Number = 0;
for (var i:int = 0; i < 190; i++) {
[code]....
So, this works, but after about 4 or 5 cubes have started rotating the performance drops considerably. I can imagine creating that many EventListeners isn't a good idea, but I can't see any other way of doing it.
View 3 Replies
Jul 22, 2009
I'm currently working on a JibJab style project where a third party agency have done an animation. Now we have tracked the head motions in AE CS4 and done an export to Flash using XFL, and the motion does not work.
Before this we have done several tests to see if this method would work, so we know it actually does work, but the tests where only a couple of 100 frames long, now the project is over 1500 frames.
The final animation is 60 sec, 25f/s, and after importing the motion into FLASH using XFL nothing happens. The motion is there if we look in the motion editor, the image is there, but nothing happens when i scrub back and forth. This all worked like a charm with the test projects. AND if i try and rightclick the picture or motion editor FLASH freezes, so i know something is REALLY wrong here.
After four hours of bug hunting i have isolated the problem to the number of frames you try to import into FLASH. If the end sequence is more than 1000 frames (exactly!) a extra keyframe is added on the first frame in the motion editor, so there is TWO keyframes on the first frame, where there should only be possible to have one. This happens only if the sequence is more then 1000 frames. If i take the same sequence and export if from AE so its less then 1000 frames everything is fine.
I have attached a screenshot of the extra keyframe that apears in the motion editor. It's allso noteworthy that this extra keyframe can't be changed or adjusted as it does not actualy "excist".
I would like to have this bug confirmed by someone and if someone has a solution? Right now im looking at cutting up the export into "999 frames" sections and then patch it together again in Flash.
View 1 Replies
Oct 14, 2010
I'm a newbie to Actionscript and read many OReily books on AS3 and have a pretty decent understanding of it. But when it comes to typing out code i struggle. So as a solution to connecting all my neurons together to set up some mad typing skills I want to type out pages and pages of code. I was wondering if you guys knew of any "gigantic" super classes i could type out for practice?
View 2 Replies
Jan 8, 2012
Here is my problem. I have a file set to 1000 pixels in height and length. My image covers that size. I am trying to create a series of panels that are lined up next to each other and than motion tween it so it looks like the background is moving. I am creating each panel by copying and pasting it and placing them next to each other so it forms a single large line. However, the screen does not allow me to see everything and tends to cut off my panels and I don't know how to fix this. I have it set as "Show All" and it still does not work.
I was told to covert it to background strips dynamically. Can someone tell me how to do this step by step?
I was told to do this, Covert the files to movie clips and that add this:
[Code]...
View 3 Replies
Jul 2, 2010
I need some suggestions about to create .flv from 1000 images.The application I'm building will be use flash to show the .flv, and the server, who have red5 rtmp and php5. The server will be do the conversion from .jpg to .flv. I searching information but I didn't find which language can be the best to do conversion, or some examples about it..
View 2 Replies
Jan 28, 2003
I have a bunch of text fields that display numbers such as 2745345.What i want is a neat bit of code that quickly and simply converts this to 2,745,345.This makes the numbers more easy to read and interpret.
View 5 Replies