ActionScript 3.0 :: Setting A Child To Null Perhaps?
Sep 30, 2009
I've having a problem when I am removing a child. There is an area where you can choose a button to click(there are multiple buttons here). Once you click a button it loads workss_mc and you can go back from there and workss_mc is being removed then work_mc is being added again. The problem is once it is added again and you click on any of the other buttons the frame label from the previous session when it was clicked is still at that location.
sometimes I remove child and trace it afterwards and it outputs null although I havent yet set it to null, why is that? and do I need to set it to null also in that case?
In document class action script file I add a movie clip to stage using
Code: public var square:Square square = new Square addChild(square)
So it adds square to stage.Then after sometime I want it to be removed. I call a function "removeSquare" also located in document class. It executes the following code. And it removes the square from stage visualy.
Code: trace("proff that it's executed") removeChild(square) square = null
Then of course I want to add a square to stage again, using code I written at top of the post. And remove it again, and so on..But game is lagging more and more and more. So I guess that the square is not properly removed. If you need more details about my code feel free to say, I just written that since I really doesn't know what else should be important.
I have an Movie Clip in Flash that have subobject of button type which has subobject of input text and movie clips. Right after creation core Moveclip all subobject are set to null, when I expect them to be valid objects.
[Code]...
MC_Core_design was created in Flash and exported to Actionscript. I've done this for button_1 class aswell. The code was written using Flex. When I comment out both lines that result in error I get correct view of the core Movie clip with all subobject. How can I set subobject properties right after object creation?
a quick low down would be its a gallery on the second frame and I breaks when coming back tot he first frame, all tweens die and such.
the errors are:
TypeError: Error #2007: Parameter child must be non-null. at flash.display:isplayObjectContainer/removeChild() at index_779_fla::MainTimeline/imageLoaded()
I am trying to create a FLV playback component (in Action Script 3) where the skin hides after the mouse is idle for a certain amount of time. I've read a lot of suggestions to set the skin to null (in action script)
[Code]...
TypeError: Error #1009: Cannot access a property or method of a null object reference.
As far as I can tell, there is no way to toggle visibility of the skin. The best I can do is turn the SkinBackgroundAlpha to 0, which does remove the background of the skin, but not any of the buttons or bars.
I'm currently trying to build my first flash site.I have just set up the buttons which get to each 'section' via frame labels and the AS3 gotoAndStop function.These work without error until my 'sections' contain movieclips that are referenced in my actionscript layer... Because they do not exist in 'all frames', whenever I click my buttons I get the error, "Error #1009: Cannot access a property or method of a null object reference."It took me a while to understand and track down why I was getting this. I removed the short bit of code in my actionscripts layer that referenced the movieclips in each section (I had some custom scrollbars set up) and it worked without error.
Seeing as I don't have too much formal education Flash/OOP in general, this is just one of those thing I can't seem to quite deal with gracefully. All I'm trying to do is to be able to load/reset my an instance of my game's main class (not the first class that gets pulled up by Flash, but the one that actually has games logic in it), which of course extends MovieClip. It took me a while before I could even make an instance in it, because it would silently crashed when I would try to do so, and what didn't help was that the output window stopped working, and I had to completely reinstall flash. As far as I remember I simply fixed it by taking out the "stage." from any of the lines of codes that had it.
Lately I've found myself constantly writing removeEventListeners everywhere, which makes code quite messy. I know it's a best practice and such, but in general it has no sense. Garbage collector should handle such a simple task by itself, shouldn't it? Is it that hard to remove all listeners automatically when object is set to null?
So I just want to be sure if that's the case. Does setting an object to null, automatically remove all attached event listeners? In my case scenario is like this - I create an object and attach bunch of event listeners to it, then after a while I need to re-initialize this object. Of course setting this object to null is much easier then unbinding every listener by hand. And on most part listeners are anonymous functions, which means that it's not possible without code refactoring. When I simply re-initialize a variable with new I do not get duplicate listeners and such, but I'm not sure that it's previous value, along with all the listeners gets garbage-collected. Is it?
How can I determine if a child is present or not in a movieClip?
I'm trying to set up a conditional to determine whether or not a specified child object is present and if so, remove it. I'm having trouble finding relevant documentation on this.
i have a movieclip called hero, which on every frame has a movieclip called 'mc', which in every frame has a mc called 'sword'problem is, on the first frame after i change frame (like from the idle animation to attack) 'mc' traces null, so i cant access 'sword' either, which is a bit of a problem for the design of the game...the frame after i change tho, 'mc' and 'sword' can both be accessed fine.
i have an external class that creates an instance named mc. then mc.addEventListener(MouseEvent.MOUSE_DOWN, drag); in function drag, if i try: addChild(mc); it works fine but when i try: addChild(e.target as MovieClip); i get the error
I made a MovieClip called Stone and I made a StoneBackground child in it. What I want to do is make a grid of the Stone image but everytime with another background I tried this:
I have loaded a movie clip from the library using the addChild Method. Now, from withing the main timeline of this loaded movie clip I'm trying to set the value of a curScore variable on the stage.
ADOBE SYSTEMS INCORPORATED Copyright 2008 Adobe Systems Incorporated All Rights Reserved. NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms of the license agreement accompanying it.
I am building a shoppin cart in flash and I am having a problem getting the purchase items list to work. Each item which gets added to the cart gets put into a movie clip and added into a purchased items moveClip which is on the stage. Each child item has a remove button attached to it. So if the user wants to remove the item they can. The problem is when I remove some of the items on the list I get a "Error: Parameter child must be non-null." Here is the code aswell:
//The cart_array is where I want to store incoming items in. var cart_array:Array = new Array();
//The items_array is where I want to store the "purchased_mc" MovieClips inside once they have been put on the stage. var items_array:Array;[code]...........
am getting error, when i click input text field then only it goes to next scene, i want to use it without click input text... and also getting this error?rror i.e.TypeError: Error #2007: Parameter child must be non-null.at flash.display:isplayObjectContainer/addChild()
I'm having this error in which I have a Main Menu scene, an Options scene, and a game scene. I have a external file which holds all the public variables that I need between scenes. In the game, there is a picture of water in the background which is purely decorative and doesn't do anything, the only time I use it in code is when I'm moving it to the back so other platforms can be positioned on top of it by using the code:[code]This used to work before I put the options scene in, and still does, provided I don't go to the options scene. Even if I don't touch anything on the options scene, simply going there causes this line to throw a "Parameter Child must be non-null" error. I tried to trace gfxWater right beforehand, but just got null. I simply dragged the water onto the screen to create it and gave it the instance name gfxWater. I don't understand how that could be null, its still there even when this line breaks, it's just on top of everything else.
In the options menu I am not doing anything with the water, I'm only changing variables such as whether or not to play music or sound effects, stuff like that. Nothing relative to the water. The only thing that I can think of that might be causing a problem is that I used a custom font in the options scene, so I had to create the text in AS3.[code]
I am trying to lay some items out on the stage using a timerEvent, out side of the "timerHandler" function the items lay out just fine. My question is...why am i getting this error when running the timer and the function. The code is below...
ActionScript Code: // dragDropItemNum = xmlData.dd_setup.dragItems.dragItem.length(); var tmr:Timer = new Timer(1000,dragDropItemNum);
I am getting this error, whenever i loaded an external SWF file. I had an Interface, in which a glossary icon is set. So, when clicked, the glossary swf file has to be loaded in to Interface. So, I made a loader and added to display hierarchy, but left empty. So, when glossary icon is clicked, i am loading this specific glossary SWF file in to that loader. But, as it is added, the following Error is thrown.
PHP Code: TypeError: Error #2007:Parameter child must be non-null.at flash.display::DisplayObjectContainer/addChildAt() fl.controls::
Im trying to build a class that moves around some movieclips on the stage, but it would never be that easy would it!
Code: package { import flash.display.MovieClip; public class Rotation extends MovieClip {
[Code]...
So I waddled it down to the "stage.addChildAt(mcContainer[i], i);" bit and I've tried everything that I could think of, but nothing seems to work.
With this version of the code, I would get "The supplied index is out of bounds." error, I can change it to addChildAt etc, but that just gives me a different error.
I had this working when it was in a flash file, its converting it into a usable class thats bugging me. All the MovieClips in the array are being exported for Actionscript.
Here's what I'm trying to accomplish: I have as3 script that successfully displays an array of MovieClips, the MCs have variable xy positions, and in some cases they overlap each other. I have a function within the array that I can't quite figure out. Here's what I'd like the function to do: When the cursor rolls over a particular MC displayed by the array,I'd like that MC to be brought to the front of the others. This is my script:
var myArray:Array = new Array(); for(var i:int=0; i<8; i++) { myArray[i]= new myImage();addChild(myArray[i]);myArray[i].x = 180*i;myArray[i].y = 330;myArray[i].addEventListener(MouseEvent.ROLL_OVER , overlap); function overlap (event:MouseEvent):void {trace('function triggered on image ' + i);
I'm working on a sliding gallery like Hulu. Setting it up and the sliding slides in and out is working fine. However, I need to add and then remove a button to each slide as it comes in and goes out. (I initially tried including the button on each slide, a mc, but this proved problematic for the event listeners). So when the file loads up, I add a mc to the first slide of the group like so (features[] is an array of movie clips - my slides): Code: var goBtn:MovieClip = new FeatureButton(); features[0].addChild(goBtn); goBtn.x = 350; goBtn.y = 230; So I add the button/mc to the first slide - works just fine.
So there are two handlers, next and previous. So I started with the next handler. The first thing I have to do is kill the button on the panel that is sliding out, so I do that like so: Code: features[featureCount].removeChild(goBtn); goBtn = null; (featureCount is a counter keeping track of the slides). This works fine. I click the next button, and the button on the slide disappears and we move to the next slide - perfect.
So then I add the following next - exactly like I did in the beginning: Code: var goBtn:MovieClip = new FeatureButton(); features[featureCount].addChild(goBtn); goBtn.x = 350; goBtn.y = 230;
This time adding it to the current slide coming in - but this generates the following error: Code: TypeError: Error #2007: Parameter child must be non-null. at flash.display::DisplayObjectContainer/removeChild() at featuregallery_fla::MainTimeline/nextFeature() How I'm getting an error on the removeChild() when that is already gone. I assume "parameter child" means goBtn - yes it is null because it's been removed. But I'm not trying to do something with that. I can only guess this is a variable scoping issue with goBtn - but I'm not seeing how to resolve it. Flash file attached.
i have the following script , and its giving me this error...this occured after i wrote the last line... which will unload the about section if home is pressed...
var imageRequest:URLRequest = new URLRequest("home.swf");var imageLoader:Loader = new Loader();imageLoader.load(imageRequest);addChild(imageLoader); imageLoader.x = 0;imageLoader.y = 140;
I have a flex application with two objects: a parent widget (called an IBaseWidget) and a child widget (called a HelperWidget2).When the user clicks on a help link, a helper widget is loaded into the list of base widgets and then displayed for the user.However, when I try to access this child widget by casting the base widget in the collection to the child widget type,the child widget returns null and I am unable to work with the widget.The following snippet correctly returns the widget ID of the newly added widget and dispatches an event to load the widget:
var id:Number = WidgetManager.getInstance().getWidgetId("Helper"); ViewerContainer.dispatchEvent(new AppEvent(AppEvent.WIDGET_RUN, id, openQuickQueryCanvas));[code].........
The problem is that helperWidget above always returns null, meaning the cast isn't successful.
TypeError: Error #2007: Parameter child must be non-null. at flash.display::DisplayObjectContainer/addChildAt() at fl.controls::ProgressBar/drawTrack() at fl.controls::ProgressBar/draw() at fl.core::UIComponent/callLaterDispatcher() Within cs5. The animation imports fine, but I am getting that error without the progress bar being shown.
import fl.controls.ProgressBar; var swfRequest:URLRequest = new URLRequest("animation2.swf"); //load animation file var swfLoader:Loader = new Loader(); var progressBarr:ProgressBar = new ProgressBar(); progressBarr.source = swfLoader.contentLoaderInfo; [Code] .....
I am getting this error, whenever i loaded an external SWF file. I had an Interface, in which a glossary icon is set. So, when clicked, the glossary swf file has to be loaded in to Interface. So, I made a loader and added to display hierarchy, but left empty. So, when glossary icon is clicked, i am loading this specific glossary SWF file in to that loader. But, as it is added, the following Error is thrown. Here, assume glossary to be TestSlide.swf file (dummy content)