ActionScript 2.0 :: DuplicateMovieClip / RemoveMovieClip Flooding CPU Usage?
Jun 25, 2005
I'm building a snazzy new navigation system for my site that involves duplicating a tiny clip with some scripting inside, which removes itself when a certain state is reached. Except it isn't. Instead, after a while, my CPU gets flooded causing the PC to slow right down. Is this common for Flash movies that do this? I've had a look about, and some Flash sites are pretty draining on the resources, but nothing this bad. or if you've experienced the same thing let me know and we can storm Macromedia HQ and smear stuff on their walls perhaps? Or maybe that BF2 demo finally fried my processor beyond use? (PS obviously I've checked the clip actually removes - it does, and there are only about 30-40 instances duplicated at any one time, so it shouldn't be that hefty)
I'm working on the Java backend for a Flash webgame - the client and server communicate using Action Message Format (AMF). A few weeks ago, another team in our company had their product hacked by a user who decompiled the Flash client, and used an altered version to flood the backend with bogus requests. We want to prevent this kind of attack in our new game.(More details: webserver used is Tomcat, AMF client is BlazeDS.)I'd like to know what the best way to prevent this kind of attack would be. Some ideas I had:the nginx configuration seemed like the best place to handle rate limiting, but I cant find any resources on how nginx interacts with AMF. Do the AMF requests just get sent straight to Tomcat?most requests involve a userId param for the relevant user. Rate-limiting requests involving overused userIds might be one approach - however, an attacker who just wants to flood the server could easily spam random userIds.
I wrote an application in flash AS3, and when I trace from flash the total memory usage of the total application is only about 9MB, But at the same time Task Manager Shows the memory usage as 110MB. Around 100MB difference.Flash Trace Method System.totalMemory difference of the Trace from the Beginning of the application to end of the application.
I have used one of the tutorials that is available here found at [URL] because I really loved the effect. I have implemented this tutorial in my presentation and my problem right now is removing the movie clip because when I advance to my next scene in my presentation this movie clip displays.
So I duplicate a MovieClip that is on the Stage and created through the IDE like so: duplicateMovieClip(timeData, "nextTimeData", timeData._parent.getNextHighestDepth()); This works great, but when I go to delete the MovieClip like so:
[Code]...
It refuses to be deleted and trace(timeData) outputs _level0.timeData before and after removeMovieClip(timeData) Why would this be happening? EDIT: According to the answers and the flash documentation MovieClips created in the IDE have a negative depth and removeMovieClip() silently fails in removing MovieClips with a negative depth. So I am now attaching timeData from the library like so:
I have a movie clip which simply a logo. When user chooses an option, it should be gone. But it is still on the stage. The only way to make it disappear is turning _visible = false. But I want it free from the memory.
<local data member>.removeMovieClip(); trace(<local data member>);<----*** <local data member> = attachmovie
in the second iteration of this code after the <local data member> has been initialized to a movieclip, the trace prints out the value instead of saying undefined. Why is this happening?
I seem to be having a problem with removeMovieClip.In my little ol' game I've been working on, I have a big problem. The removeMovieClip command only works half of the time. When using the Desert Eagle, a slow-firing weapon, both bullet shells and bullets are duplicated and used properly, and remove themselves when their time has come as programmed. But when using an automatic weapon... it seems to be duplicated shells and bullets so fast that they don't remove themselves properly!
How it works: Let's take the bullet shells, for example. The bullet shells are created and run a bunch of scripts to fall realistically. Once they hit the ground they run an animation which makes a little sound, makes 'em bounce off the floor a bit then stay still for 5 seconds. After those 5 seconds, they're removed. It's that simple, yet it doesn't work.
I hate having to show everybody my stuff every time there's a bug but I trust you guys with my problems (this project is mostly for experience anyways). Try using the Pistol (1) and you'll see it working fine. Then try using the M4A1 (2) or the Steyr AUG (3) and press down on the mouse button for automatic mode. Those bullet shells won't dissapear. Warning: DO NOT aim at the box. I'm also having a problem removing those bullets, so it bugs when you aim at the box.
I have absolutely no idea why the following code isn't working. I've checked the documentation for removeMovieClip at least a dozen times. The only thing I've noticed is the following:Method; removes a movie clip instance created with duplicateMovieClip(), MovieClip.duplicateMovieClip(), or MovieClip.attachMovie().As you will notice, I'm using createEmptyMovieClip() - not one of the methods mentioned - but I swear I've used removeMovieClip to delete movieclips created this way before and it's worked fine. I can't find an alternative command, either.When I trace white in the onRollOut function, it returns the correct path, so it's not a targetting issue. I've also tried adjusting one of the movieclip white's properties (alpha) and it's worked fine.[code]
I am working with components for the first time.... Now, currently, i am creating components with the attachMovie(), it works, but is it the right way to do it? The reason i ask is because i cant remove the components with removeMovieClip(), how do you remove them?
I'm doing a game (supposed to be done tomorrow).In this game I've got a hero who throws books at the enemies. When the book hits the enemy, I want the book to dissapear, but the thing is that it contiues to fly straight ahead and kill all the other enemies too. I've got a really huge source code for the game, but this part wouldn't be too hard to do, would it? So I've put this piece of code inside the book's movieclip.
PHP Code:
onClipEvent (enterFrame) { this._x += bokSpeed; for (i = 0; i < 3; i++) {
I have already foud out where I want to place my sprites in my game, and I don't want to have to go through th elengthy "duplicateMoveClip" procdure (or it seems to be lengthy to me anyways, it's probably like 2 lines of code, but still, I WANNA DO IT MY WAY!) ok, anyways, does delete only work on variables and not movie clips?here's what I have so farthis is in the bullet movie clip:
Code: onClipEvent ( enterFrame){ if (Key.isDown (Key.SPACE)){
I need to create a list of items align on vertical and the items need to have a expand animation and in the same time when the expand happens, i move the rest of the mcs up (or down).For exemple we have 5 mcs, _mc1, _mc2, _mc3, _mc4, _mc5, and we rollover _mc3, _mc1 & _mc2 move up (tween motion) with 20px; _mc3 expands with 10px up and 10px down; and _mc4,_mc5 moves down with 20 px to! This i already did (and it works perfect) but my problem appears if i add more then 11 mcs (on my computer) the flash start's to eat more CPU and the animation become slower and slower!So i thought to add only 3 mc down (so let we say that we see 3 mcs on stage i want to add more 3 out of stage down)...when you scroll down one mc goes up and will be removed and one will be added down, then when you scroll up, the last one will be removed and the first one will be add it again.
Exemple:We have 1,2,3,4,5, we scroll down, 1 goes up (and will be removed) and 6 will apear, we scroll more down, 2 will be removed and 7 will be added! We scroll up 7 will be removed and 2 will be add it! !!!!I need to remove a movieclip (in my exemple 1,2) only if they are out of stage(they are not visible anymore)
I'm fairly new to the use of loadMovie, unloadMovie, and removeMovieClip for external swfs, but anyways, let me summarize the problem as simply as I can. I have a shell.fla file that is currently loading in external swfs, one at a time, for a game. Here is an outline of how my shell works:
1. first part of game gets loaded in an empty movieclip (container_mc) 2. a listener is created that will listen to an event broadcaster that exists within the external swf. 3. when the listener receives the "done" message, I run container_mc.removeMovieClip() and then load part 2 of the game in a new empty clip called container2_mc.
At this point, I get really severe slowdown for some reason, and I don't know why!! Part 2 of the game is a tile based maze game which is not optimized 100%, but when I run that swf on its own (i.e. not inside the shell) it runs perfectly smooth. But when it is loaded after part 1, it goes really slow.
I'm just wondering it is that that .removeMovieClip() isn't working for me. I'm using the correct path to the object, and I've used this function many many times before. But it's not removing it now this time. I heard that there was some sort of bug in flash that you had to swap depths or something? Flash CS3
I've been working a flash drawing application with an undo button function so you can delete the last line you drew. Everything is working ok except when I use the clear_btn removeMovieClip(shapes[sc]); deletes all the lines so far but afterwards you are unable to draw again[code]....
I have an onEnterFrame function, and when the clip goes passed a certain x value, it tweens alpha to 0, and then on complete, it removes its listener and is removed from the stage ... here's the loop :::
My removeMovieClip doesn't work onRollOut...Also if somebody can tell me how to change the color of the movie clip onRollover.I have two MC with instance name as loc1, loc2 (stored inside mainMap.map.pan), now when i rollover to these, there is a toolTipMC which displays with title on dynamic text box with instance name "tip" (toolTipMC.tip) and image attached to movie clip with instance name "imgHolder" (toolTipMC.img.imgHolder) and some details showing on dynamic text box with instance name "detail" (toolTipMC.detail).Here is the code:-
locs = {loc1:{tip:" Canada ", detail:" Canada is Canada :P", img: "loc2"}, loc2:{tip:" North America ", detail:" North America is North America, llalalalala, hahahha", img: "loc3"}}; mc = mainMap.map.pan;[code].....
I have a Movieclip on stage, with this code on it, the movieclip loads ok from the library as per the code, but after the two sounds have finished i wish to remove the movie from stage... i have tried even more examples putting the removesection all over the code
Worked on this for a while, does the jpb, but because of the way I have done it, I can't get any removeMovieClip() functions to work on the new instances.need it cleaned up an in a way that I can use a removeMovieClip on it and have it actually remove them all.[code]I have almost the same code in three different frames, just using different instabnces as the basis for the duplication, and another layer that has a timer, when timer runs out, takes you to the scoreboard, now all was working well before i changed it to duplicate function, I just pulled them in from the library, but they weren't all the same size an crap (for perspective) But now ehn I get to the scoreboard, the darn things are still running.
I am using this script in the 1st frame to load external XML file
PHP Code: this.createEmptyMovieClip("container", this.getNextHighestDepth()); var myXML:XML = new XML(); var links:Array = new Array(); myXML.load("myMenu.xml");myXML.ignoreWhite = true; myXML.onLoad = function (success:Boolean){ [Code] .....
In the same frame I have another button, on release I want the actionscript to unload this menu. I tried using PHP Code: _root.myXML.removeMovieClip(); But seems not working out.
I built a website for our company, but because my boss kept adding stuff as I was building, the navigation-function became a total mess. On top of that, the need has risen to make the site multi-lingual, and I would like to get the back-button and deep-linking to work properly.So, I decided to rewrite the navigation-function using the exanimo stateManager. The site structure basically has two levels: Six main sections (L1), most of which have subsections (L2). All these "pages" are library items that get attached to a holder MC (L0). So for instance, the first page is built by attaching "home_NL" to L0 and calling it L1, and then attaching "home_welkom_NL" to L1 and calling it L2.
This all works fine, until I've clicked Voices . If I click a section after that, the L0 gets faded out, but L1 is not removed. And since the function then tries to attach a new library item as L1 and will not continue until it is loaded, navigation simply hangs.
Unfortunately luister_NL, which is loaded when you click Voices, is a fairly complex movie clip (by my standards, at least). It allows the visitor to listen to samples of our voice-talents based on language, style and gender. These can also be selected and ordered through a form.Something in this movie clip is preventing Flash from removing it from the stage, but I cant figure out what.
I have an array of MovieClips, when I try and use .removeMovieClip on one of the array items it removes reference to the MovieClip Object but it is still visible on the stage. When I address the MovieClip directly and use removeMovieClip on that it removes references and deletes from the stage.
i.e. Scenario 1: myArray = new Array(); myArray.push(myMovieClip); myArray[0].removeMovieClip(); trace(myArray[0]); trace(myMovieClip); Traces out undefined, undefined but the movieClip is still visible on stage (and can still interact with).
Scenario2: myArray = new Array(); myArray.push(myMovieClip); myMovieClip.removeMovieClip(); trace(myArray[0]); trace(myMovieClip); Trace out undefined, undefined and the movieClip is removed from stage