ActionScript 3.0 :: Use The Debugger To Identify Items On Stage?
Jun 23, 2009
I have an app that uses several Loader objects to load extenral swf files. Things go well except for one point. I have a quiz element that's loaded through a loader named 'quiz'. When the quiz is done, I remove the quiz element with removeChild(quiz). The quiz disappears from the screen every time except for one question. I can't identify what's going on differently for that question. I've debugged this and can see that my quiz object is set to null, but I can plainly see the quiz still onscreen.
To further confuse me, I use the same loader object multiple times through the app, and just add it and remove it from the display list with addChild and removeChild. When my one problem question comes up and fails to go away, the app continues to the next question, and I can see that there are now 2 quiz objects stacked on top of each other. I have no idea how this can happen when I'm using the same loader object for all the questions.
I have an array of objects which uses a delimited string as the keys. When examined in the FB4 debugger, the keys look like this:[code]The first two items are numeric (cast to string) but the third item in the multi-part delimited key is naturally a string -- it's like an alphanumeric library shelf reference. As expected, when you click on the [+] icon in the debugger, you can view the object associated with that string key. So far so good.The debugger shows the keys in the (pre-sorted) order in which they were added to the array. However, when iterating the object array so:[code]the keys are returned in some other order --internal hash? My question is, how does the debugger know the order the keys were added in, and can I access that knowledge at runtime when iterating the array? I want to iterate the objects in the order in which they were added. Or do I need to maintain my own index of these keys showing the order they were added to the associative array?
- A.fla includes buttons, movie clips and also B.swf is loaded in A.fla using a LOADER
- i want to access elements in A.fla, from the actionscript codes inside B.fla to modify those movie clips and buttons based on actions going on in B.swf
for instance, lets say there is a button X in A.fla, and there is a button Y in B.fla, B.swf is loaded into A.fla, and I want the button Y to erase button X when clicked.
general question: accessing elements in a stage, through a SWF file loaded into that stage.
I needed to make my document size larger. Is there an easy way to center all the content in the new size? Right now everything is flushed to the top left corner.
I am using preloaders to load "modules" of pictures. They are working but I need to unload them before navigating to the next frame (to load the next module). Is there a way to condition action upon leaving a frame? Do I need to create some kind of unloader before the preloader? That might be difficult because I won't know what page I am navigating FROM. Here is my loader [code]...
As this involves assorted dragging interactions to understand this explanation take a look at the file.URL...it should work like the last item on this page, called exploring kite interactive Url...I have a mc which includes 5 dots that can be dragged in various ways.each one needs to be limited to the stage area when it is being dragged.The limit should only apply to the dot when being dragged. If a dot being dragged causes another to exit the stage area that is fine.I have tried a few ways, none work too smoothly.One issue is that a dot which stops dragging at the edge can be hard to pick again.Another issue is that if you drag really fast you can drag a dot offstage. This is usually when the top or bottom dot is dragged quickly from where it has stopped at the edge and the mouse is released just outside the stage.FLA is attached.
So, I have a file where I've added 27 movie clips to the stage using a for loop to cycle through items in an XML document. Here's the pertinent part of the code I'm using, it's AS3:
So, I end up with 27 instances of mini_mc, each named 0, 1, 2, 3, etc.
I'm trying to write code to remove them at a certain point in the movie but having problems. Here's what I'm using[code]...
In actionscript 2 if you wanted items on the stage to not appear to the user you would just use the onclipevent(load) and then move them, alpha them and so on. In as 3 I cannot figure out how to get the items off of the stage before the stage renders them. There's always a flash of the stage items and then they disappear. What should I use? I don't like the addChild method because it's impossible to design a site that way. I like all my items on the stage and then go from there...
I am adding few items dynamically from the library to the stage by creating instances. If I remove them using removeChildAt() then the item gets removed from the display but exists in the memory. How can I remove this from memory?
I am using the CS4 version and when I click on the library item and drag it to the stage, there is nothing there. It is just a blank canvas and it's like the image(s) are hidden behind the stage or something. When I do a Publish Preview, I can see the .swf file with all the images, but in the .fla, there is nothing showing but the text files, and then that is even hidden in a newly created file. I am not sure if I accidently turned something on/off that is preventing my images from not showing on the stage or what. I really need to find a solution to this problem because I need to create a Flash file for a project I am working on in one of my classes. Does anyone know what could be causing this? I have done Google searches and Forum searches to no avail unless I'm not using the right keywords in my search.
I'm trying to convert to Actionscript 3.0 and I'm trying to find out how to loop through Stage objects as well as DisplayObject.With AS 2.0 - I would only have to do:
[code] for(var i in _root) // or MovieClip, this, ect {
I have the AS to move pictures around (like a jigsaw puzzle i guess), im just struggling with setting boundaries so that the pieces cannot be dragged off the stage...
Im presuming setting the boundaries is a matter of adding X and Y values or similar.
So what will be faster:a) From actionscript construct library items and put on stage and Tween;b) Or keep those library items on stage, but not on visible zone and then with actionscript make them appear with a Tweener?
I have a lot of different movieclips on the main stage, with a majority of them being mcHotspot movieclips. These mcHotspots are simply yellow boxes which display a 40% alpha so users can see where they can click on the stage. When you click one of these hotspots, a menu is displayed which contains more mcHotspot movieclips embedded within it.
I'd like to have a single button that will loop through all the items on the stage and display anything that is of type "mcHotspot". Is this possible, and is there a way I can dig down into any items of type movieclip that are NOT mcHotspots to see if they have mcHotspots themselves? I'm basically looking to use a recursive loop that will go to the lowest level. I know there is a typeof function that returns either Number, String, movieclip, etc. but is it possible to know what type of movieclip it is?
I have instances of items on the stage, on various labelled frames. I have an actionscript class that uses gotoAndStop('framelabel') to move forwards and back. When using the IDE this works perfectly.
However, when I view the swf on its own, or in a HTML page, I get the error:
Error #1009: Cannot access a property or method of a null object reference.
If I use a timer to create a delay between gotoAndStop and trying to reference the items it also works fine. So it seems that when using gotoAndStop, the actionscript is trying to access the items on stage before they have been added to the display list.
Is there a way to force Flash to load the display list of the frame it's stopped at before trying to access those items? Surely it should load the stage instances before running the actionscript?
Below is an example of the script
Code: private function goThree(e:MouseEvent = void):void { Main.root.gotoAndStop('Three'); var btnMinus:SimpleButton = Main.root.getChildByName('btnMinusThree') as
I'm trying to convert to Actionscript 3.0 and I'm trying to find out how to loop through Stage objects as well as DisplayObject.
With AS 2.0 - I would only have to do:
[Code]...
This kind of works but the o[prop] always traces undefined and it's not showing any movieClips on the stage.I would like to be able to have the debug object function be able to take Stage and DisplayObject arguments like such:
why when I place something on the stage it does not match up on the web page. Do I have to set the co-ordinates of the item for it to appear in the correct place on a web page.
Actionscript 3.0 looping through stage and DisplayObject items. I'm trying to convert to Actionscript 3.0 and I'm trying to find out how to loop through Stage objects as well as DisplayObject. With AS 2.0 - I would only have to do: for(var i in _root) // or MovieClip, this, etc { trace("i: " + i + " [i]: " + _root.[i]);}
In AS 3.0 I found this equivalent which works w/ some objects: public function debug_object(o:Object, show_all:Boolean):void { import flash.utils.*; var def:XML = describeType(o); var props:XMLList = def..variable.@name; if(show_all) props += def..accessor.@name; for each (var prop:String in props) { trace(prop + ": " + o[prop]); }} this.showChildren(Stage);
This kind of works but the o[prop] always traces undefined and it's not showing any movieClips on the stage. I would like to be able to have the debug object function be able to take Stage and DisplayObject arguments like such: this.debug_object(Stage, true); this.debug_object(flash.display.DisplayObject, true);
In CS5, I want to have a frame with buttons that when clicked, reveal different graphic symbols or movie clips (I'm not sure what to use?). The symbols will reveal text information and graphics, and might fade in when clicked, though will not move or do anything else.
1. Is it better to make these text and graphcis into movie clips or graphic symbols?
2. How do they get hidden on the stage until a user clicks on a button to reveal it?
3. Using Code snippets, which option will make this work?
I have an AS2 .fla with all of my stage items on the timeline as opposed to inside a container swf. I must chose Center vertical and Horizontal options in the HTML alignment options when publishing in order for my movie to be perfectly centered in the middle of the browser. I would like to have a FULL Browser Background Image, however when I try using the following code, my background ("bg") does not fill the entire browser.
what I am doing wrong and if it is even possible to have a full browser background image while still using CENTER alignment in the HTML publish settings? I have tried the following code with and without the Stage align settings and with the xy coordinates centered-still no luck!
private var currentItem:uint; for(var i:uint = 0;i<10;i+){ addChild(arr[currentItem]);
[Code]....
So the problem is that the array only contains 6 items. So when it comes to the 6th item the currentItem resets and the next 4 items that are getting added are the 4 first from the array again. Now when i trace the items, the last 4 trace "null". how can i add items from the array multiple times without losing its properties etc?
What I'm trying to do is dynamically assign instance names to movie clips placed on the stage based on their position on the stage. Say if one had an _x value of 1, i would want to assign that clip the instance name of "clip1" and if another had the _x value of 599, I would want to assign that clip the instance name of "clip599". Logically, I would think it would work like this (placed on each individual movie clip):
I've made it this way1. I made clip and it's main class (eg. timeline.as) - at this point it works2. I put code from main class to another class (eg. timeline_template.as) and in main class (timeline.as) I inherit it by :public dynamic class timeline extends timeline_template {3. I added stage items declarations in timeline_template.as because without that any code couldn't reach target an I got 1120: Access of undefined property xxx after these steps whole clip works but items on stage ( buttons, etc. ) are not affected by code. That's logical because code references to properties declared in timeline_template but not in timeline.fla. But how to get around that - I need several usage of timeline_template and I would like to avoid code redundancy
Code: function AddYCoins():void { for (var i:int = 0; i < 10; i++) { var Ycoin:YCoin = new YCoin();
[Code]...
This function creates 10 instances of my YCoin and places it around the stage. But i wish the coins to only fall in specific areas, (i.e. i have 8 green rectangles, names area1,area2 etc) because the idea is you have to collect the coins but only staying on the green rectangles.
i knows its the stage.stageWidth i need to change but i cant think what to change it too!
what i'm referring to is the way in which the thumbs and menu items stay at the bottom & top no matter what size the window is resized to.. and the its only the big images that are resized...
I have a MovieClip called item with the same linkage set and my first task is to display 10 of these items on the stage nested inside a movieclip called MainItem. I have dragged MainItem to the stage and have the following for loop:
Therefore, my concepts is I have webcam. My webcam is able to catch a image. Whereby, the flash will calculate the overall of the color. And it will resize and place it to the nearest color of the main background color.
I have a project underway where I am making an interactive game. It is a personal character creator game and I need Actionscript 3 help with this.Something similar here:http:[url].... I have tried already with toggling visibility and 'gotoAndStop()' to make items appear over other items when the corresponding button is pressed, for example, when the user tries out different pants/shirts on their character.