ActionScript 3.0 :: Use Trace() To Check If Mc Is Removed Frm Stage?
May 17, 2010In AS2, to check if the mc is removed frm stage, i wuld simply just need to do this:
Code:
removeMovieClip(mc);
trace(mc);
[code]......
In AS2, to check if the mc is removed frm stage, i wuld simply just need to do this:
Code:
removeMovieClip(mc);
trace(mc);
[code]......
if i have a movie clip with an even listener attached to it, is the event listener being removed automatically when the movie clip is removed from the stage or should i always remove the event listeners manually?
View 4 RepliesI want to unload a swf and have it removed from memory, I use 'unloadAndStop'. But how can I check if the swf / MC has really been removed?
View 2 Repliesi need to be able to check if a child has been removed. is there some kind of event listener for this, or is there some other way of doing it?
View 4 RepliesAnyone know if there's a way to check for objects in memory that have been removed from a display object but not set to null?
View 1 RepliesI am sorry if this is a truly basic question, but how would I code as3 to remove an event listener when the current frame (in my case, section of my site) is no longer on the stage?ke the following code as an example:
function onClick(event:MouseEvent):void
{
doSomething();
[code].....
When bullets hit the wall of multi-colored blocks, when shot one by one, they disappear like they should. But if you hold down the Left Mouse Button, you will see that bullets stop in mid-travel and I can't figure out how to fix that.
See this occur in this SWF. Note:(Use A & D to move left to right, Z to add a new row, and Left Click to shoot)
Here's the important function in the Bullet class.
Code:
public function update():void {
if(global == null){
trace("Global es null.");
[Code]....
I've noticed that using stage.addChild(obj)(i.e. creating objects on the fly) can slow down frame rates.I was told by several sources that one way to speed up a flash game engine (or any animation where instances are generated as you progress), is to reuse objects in what is known as object pooling.
First of all a bit of background:The game engine I'm working on can be found at: http:[url]....Most objects (i.e. bullets, particles, enemies...) are exported for actionscript, each with a set of actions that are performed each frame, and another set of actions upon being created.Each class has an array called instanceList, which keeps track of all objects currently within play.The main timeline contains an event.ENTER_FRAME function mainActions(event:Event):void, that loops through each of the instances and performs the actions associated wit11h each.It goes through each instance of each class by going through the static array instanceList().
Now what I plan to do is:Have a seperate static array for each class, called inactiveInstances,which keeps track of deleted objects.Introduce a function for adding the objects back to the stage (with the nesscessary variables reset), to give the impression of a new object being created.When objects are destroyed:Should they be removed from the stage and readded latter e.g. removeChild(obj2)/addChild(obj1)? e.g.
Code:
public function instance_destroy()
{
parent.removeChild(this)
//Remove all refferences and listeners[code].....
The REMOVED_FROM_STAGE event is fired before the object is actually removed from the stage. I'm looking for a performant way to know when the object is finally removed.
View 3 RepliesI am trying to make it so when you click anwhere on the stage the movieclip cursor is removed.
Code:
stage.addEventListener(MouseEvent.CLICK,ketchremove);
function ketchremove (evt:MouseEvent):void
{
trace("I am removed");
[Code]...
In the past, using Flash CS3 when I needed to remove timers or event listeners from a swf that had been loaded into a parent swf I'd use this inside the loaded swf:
Code:
this.addEventListener(Event.REMOVED_FROM_STAGE, deactivate, false, 0, true);
function deactivate(e:Event):void
{
[code]....
Now that I've upgraded to CS5 and am outputting to Flash Player 10 this no longer seems to work. The event fires right away. Does anyone know why this might be and if there's an alternative that I can use?I tried the unloadAndStop() method in the parent swf but I'm trying to remove some TweenMax delay timers and it doesn't seem to be working.
In the past, using Flash CS3 when I needed to remove timers or event listeners from a swf that had been loaded into a parent swf I'd use this inside the loaded swf:
Code:
this.addEventListener(Event.REMOVED_FROM_STAGE, deactivate, false, 0, true);
function deactivate(e:Event):void
[code].....
I want to remove all children of the name (mc1) but be able to add new one when I call the add function again Heres what I have
// Draws the squares
Code:
function drawIt(e:Event=null):void{
mc1.graphics.lineStyle(1);
mc1.graphics.beginFill(ITsColor);
[code]....
Removing all the (mc1) movieclips works fine, but when i click on the butotn to call drawIt again, all previous mc1's are displayed again with the new ones
I have a main swf that I load external swfs onto the stage. I am trying to fix the loading order. Currently when a button is pressed, the swf is preloaded, the current swf is on the stage with the preloader showing, then the preloader disappears and the swf plays the outro transition.
how to change the order so that currently loaded swf is removed from the stage, show the preloader and then show the new swf.
Code:
package
{
import flash.display.MovieClip;
import flash.display.SimpleButton;
[Code].....
I have two FLV files playing on the stage. The main FLV is instance is: MyVideothe 2nd is MyVideo2I have imported the videos using the wizard. The 2nd video is just a movie I created in Affter Effects that says...loading please wait....this is a really nice video and I don't want it to just use a standard preloader. Anyway, the goal is when the playback for "MyVideo" begins I would like "Myvideo2" to = visible = false;I have tried this many different ways and have been unsuccessful. I am obviously a newb at this. Also, does anyone know where I can get a list of all available eventListener actions...etc?
//var nc:NetConnection = new NetConnection();
//connection_nc.connect();
//var stream_ns:NetStream = new NetStream(connection_nc);
[code].....
I have ran into another problem, I have written the code for when I click on an enemy, it doesnt add a point to the score and it doesn't remove the enemy, I have a textfield which is called messageDisplay which is linked to the clickEnemy function.Here is the piece of code.
stage.addEventListener(MouseEvent.CLICK, clickEnemy); function clickEnemy(event:MouseEvent):void { if(cursor.hitTestObject(enemyAppear)) { score++ messageDisplay.text = String(score); enemyAppear.parent.removeChild(enemyAppear); } } stage.removeEventListener(MouseEvent.CLICK, clickEnemy);
I am working in on a Flex / Air application (using PureMVC) written virtually entirely in ActionScript 3 (i.e. we use very little of Flex). View components are added to a Canvas object in the main application window and these Views then load other movie clips, images files, etc.When I remove a View from the stage, I do so using application.canvas.removeChild(). This fires an event in my PureMVC mediator for that View, which removes any event listeners that were set up and everything appears to be dandy.However, the movie clips are still playing in the background. They are not causing any trouble on screen but they are simply there, playing somewhere in memory (e.g. I can see trace statements from them) and I want them gone. I suspect the View that was removed from the Canvas is still there too, but I can't prove it.
Setting the View to null doesn't do anything. I'm surprised that AS3 doesn't include any method to simply and effectively destroy a Display Object and all of its children.Is the only way to do this to tediously unload all of the movie clips, etc. and then hope that Flash will clean them up?
I was told that if you load a new SWF into a loader that has an existing SWF that the second SWF will replace the object(the first SWF) in the loader and in the display list.Does this mean that the first SWF is removed from the stage once the second SWF is loaded? I am asking because I would like to know if my this.addEventListener(Event.REMOVED_FROM_STAGE, removedFromStageHandler1); in the first SWF will fire once the second SWF is loaded.
View 3 RepliesI was told that if you load a new SWF into a loader that has an existing SWF that the second SWF will replace the object(the first SWF) in the loader and in the display list.
Does this mean that the first SWF is removed from the stage once the second SWF is loaded? I am asking because I would like to know if my this.addEventListener(Event.REMOVED_FROM_STAGE, removedFromStageHandler1); in the first SWF will fire once the second SWF is loaded.
I am trying to build a AS3 only project in Flex....I have tried debug mode, but seems like it takes so long to compile....I can't use trace or check variables...Are there anyway to do debug??
View 1 RepliesI am currently play with the document class (the class acts as main) constructor for a SWF file.
package {
import flash.display.*;
import flash.events.*;
public class TestSymbol extends MovieClip
{
public function TestSymbol()
[Code]...
In the setOne_mc I have three buttons close_btn, min_btn and max_btn....I want the movie clip to be removed from the stage if close is released.I seem not to be conecting with the buttons...the clip appears on the screen.
menuBar_mc.dropMenu_mc.subMenu01_mc.onRelease = function() { holder_mc.attachMovie("setOne_mc","setOne_mc",2,{_x:0, _y:0}); halt();};holder_mc.setOne_mc.close_btn.onRelease = function() { go();};function go() { this.removeMovieClip();}
function halt() { menuBar_mc.dropMenu_mc.subMenu01_mc.enabled = false; menuBar_mc.dropMenu_mc.subMenu02_mc.enabled = false; menuBar_mc.dropMenu_mc.subMenu03_mc.enabled = false; menuBar_mc.dropMenu_mc.subMenu04_mc.enabled = false; menuBar_mc.dropMenu_mc.subMenu05_mc.enabled = false;}
I cannot Check Syntax of AS3 (error sound, not the happy 'ding' syntax checked sound), nor does the IDE Auto Format anything, even valid code. trace("x"); does nothing (except throw the 'error in your syntax' message). There is nothing displayed in the Compiler Errors pane or in the Output pane. Document Classes fail to work and fail to fail, when they are purposely mis-coded. Class files also cannot Check Syntax or Auto Format or output anything with trace("x"). AS2 files behave normally, with all the above items working.
I had the trial version of CS5 running fine. It expired. I bought the Full Version Upgrade which worked fine. Yesterday, the as3 script environment fails to check syntax, fails to auto format and does not send any trace statements to the output window. I have removed the application & re-installed and updated, but nothing has fixed this yet. AS3 code envorinment is seriously messed up. I will update everything tonight.
I have a website [URL] when I go there if I click the video archives button then play a video then click on the home or photos button or one of the alternate background buttons on the left the video goes away as it should but not always the audio (especially when I click while the video is still buffering). Is there a command I can use to kill the sound from the flvPlayback component and nothing else(I have a mp3 player there also I so I don't want to use the SoundMatrix class. btw the videos are all played on an instance of the flvPlayback component.
View 7 RepliesI have been using a lot of swapChildren, setChildIndex,addChild, removeChild on stage and also a lot switching children when buttons rollover and rollout. I want to know is there a method to trace or keep track of all the depth of children in the output panel??
View 2 Repliesdoes anyone know how to trace whats on the stage?I tried: trace (stage);but it just said: [object Stage]in the output panel and I have tons of stuff on the stage loaded though as3.
View 4 RepliesI am in learning phase but do not to show the x andy posion of mouse on the stage. I want to trace the x and y position of mouse in stage. How we can do this ?
View 3 RepliesI am currently developing a flash application that would allow a user to control a movieclip on the stage using 2 keyboard inputs (like turning 2 knobs in order to align something).I have it set up that on the 2 keyboard inputs, the movieclip moves.What I am looking at doing is using trace statements that I use to track the position of the movieclip, which is just a simple black dot, and having the values of the trace statement show up on screen in 2 dynamic text fields, after being rounded to the nearest whole integer. The dot is in the movieclip entitled mCoordPlane.My script is below:
stop();
mAligned.visible=false;mNotAligned.visible=false;
var letterK:Boolean=false;var letterJ:Boolean=false;var letterD:Boolean=false;var letterF:Boolean=false;[code]......
Is there a bug with stage height in Flash? Every time I use that and run a trace statement, it's wrong.
View 1 RepliesI have a button that, when it is clicked, should cause a text box to appear. I can make text appear as a trace so I know the button's working, but I have no idea how to either get the trace onto the stage - it only appears in the .fla .output window. I think what would be preferable would be to get a text box to appear as the event but can't work it out....
View 2 Replies