ActionScript 3.0 :: Class Object Reference Error - No Default Value
Feb 4, 2010
I'm building a game which makes use of a few extended classes. I've recently made a few changes in the way the graphics are ordered and am now running into problems, namely:
ReferenceError: Error #1069: Property grab not found on flash.display.Sprite and there is no default value.
at DraggableSprite/grabObject()
ReferenceError: Error #1069: Property drop not found on flash.display.Sprite and there is no default value.
at DraggableSprite/dropObject()
The general structure is as follows ('>' means extends) :
MovieClip > DraggableSprite > PlantPart > Seed or Flower.
DraggableSprite manages dragging/dropping objects with the mouse. It contains the offending lines of code being:
Code:
private function grabObject(evt:MouseEvent) {
trace("grabTarget: "+evt.target.name);
if (this._draggable) {
_origX = evt.target.x;
_origY = evt.target.y;
[Cde] .....
The Seed and Flower classes contain a public 'grab' and 'drop' function which manage some different effects of being picked up and dropped, but the code seems to stop short at the PlantPart class and register a sprite it contains as the 'evt.target'. I added this intermediate sprite to overcome a colission problem with the mouse. The sprite functions as a dragbox, while the Seed and Flower graphics offer visual feedback.
stop(); button3.addEventListener(MouseEvent.CLICK, playClick3); function playClick3(Event:MouseEvent):void { gotoAndStop(422); }
On frame 422 there is no code at the moment. I keep getting the error TypeError: Error #1009: Cannot access a property or method of a null object reference.
I am trying to use the scroll pane component and I am having a few teething troubles. I have a scroll pane as a child object of a movie clip which is essentially a 'page', if I display this page it works fine and the scroll pane does too. If I then remove this page from the display list, go to another page and come back by readding it to the display list, I get the following error, even though nothing else has changed:
TypeError: Error #1009: Cannot access a property or method of a null object reference.at fl.containers::ScrollPane/fl.containers:ScrollPane::endDrag()
The scroll pane is still visible and works correctly, but ideally I'd like to stop this error.
Using Flash CS5 Professional I have created a symbol, dragged it onto the stage, and given it an instance name of GreenLight1. If I want to make this visible from the document class, I can simply do the GreenLight1.visible=true; and poof it's good to go when I test the file. As long as I stay in the document class I am good to go, but now I'm trying to move to another class and hitting ALL kinds of trouble just trying to get Flash to allow me to access this simple object. All I am looking to do is have this GreenLight1 go invisible (visible=false) when a certain condition occurs in this new class and Flash just won't let me access GreenLight1 at all. Things I've tried thus far:
stage is passed to the class and is referenced by _stage and is working just fine when I do _stage.addchild or anything like that. So I have tried "_stage.GreenLight1.visible=false;" and I get "ReferenceError: Error #1069: Property GreenLight1 not found on flash.display.Stage and there is no default value." My document class extends Sprite, so I figured I'd try the root function. So I tried "Sprite(root).GreenLight1.visible=false;" and I get "1119: Access of possibly undefined property GreenLight1 through a reference with static type flash.display:Sprite." I tried to create the Resource class as described therein. To which I came across the same problem that I started with in that it doesn't know what GreenLight1 is to begin with so I got "1120: Access of undefined property GreenLight1." Here is my code for Resource.as (am I supposed to pass something to this class from the document class?)
My code is an external .as file. Google provides this code on their demo, which contains the this keyword:
[Code]...
Notice that I have 4 calls to console.log. The first 3 fire, but after the new GATracker statement, the 4th does not fire. I have a feeling that I'm overriding the entire package with the object created from new GATracker when I should be passing a different context. I believe the correct context I should pass is whatever this defaults to when not inside of a package/external file, I assume it references the main stage object.
So my problem here is, I'm working on my Adobe Air project, so I decided to code some buttons to be able to navigate. The problem here is that I get a error for trying to do so. Here is my code.
[Code]...
I do not see what is wrong actually, I tried this on a blank non-AIR file, and it worked well.
I'm animating some mc's at the beginning of the timeline with AS3 (mostly alpha fades), but then I have some tweened animations further down the timeline and a "naviagation bar" that's on all frames, so a user can click a button and jump to a part of the timeline to see some other animations.My problem is that if I don't wait to see the programmed animations at the beginning and just clicka button to see the other tweened animations, I get an error:
"Error #1009: Cannot access a property or method of a null object reference. at flash_fla::MainTimeline/tube_glow2_animate()" (tube_glow2_animate() being the name of a function)
Error #1009: Cannot access a property or method of a null object reference.
This is the error I cannot seem to understand. On the stage I have a movie clip, mcTree. It's keyframe is in frame 3143. There is no tween or anything. In frame 3144, I have the following actionscript:
mcTree.gotoAndStop(2);
I publish the movie and I get to frame 3144 then BAM TypeError: Error #1009: Cannot access a property or method of a null object reference.
at 2file_fla::MainTimeline/frame3144()
As you can tell, I'm more than 3000 frames into my animation here and have made it this far using this method, and it has worked.
I have problem with accessing object created by function imported from another package. I have 2 packages DragDrop and UserInterface. In UserInterface I create methods for buttons and later add them in DragDrop . I make it in two different ways: One(this one works):
I am trying to figure out the logic to remove a nullreference error that is popping up when an item is not dragged. Inthe code, I have a stopDrag setup for the stage. It works asexpected unless the user clicks the item but doesn't drag it. Itcauses the variable I have set to bring the name of the dropTargetto be a null which crashes the system. I have tried to declare thevariable with a default value but it still doesn't work.It is the targetStop code that it is crashing on. Is thereanyway to default a value so I can do an if / then statement todetermine if there is a value? I've tried: if (targetStop == null)but that doesn't seem to work.
I have function init, which runs on the creationComplete of the application. The init calls get_login_share_object funtion, in which objects are created, which are null.
Now my problem is that, I get a null object reference error on the Alert in "init()". How can I avoid that. Is it possible that I can have a check to see, if the objects are null the program should just skip reading the objects.
private function init():void { var stored_credentials:Object = get_login_share_object();
Here are my classes Main - creates preloader Preloader - createas Website Website - creates MainMenu
When a button in the main menu is clicked, it creates an object. And when another one is clicked, that object needs to be removed. The removing part got a little bit messy. package src { import com.greensock.TweenLite; import flash.display.MovieClip; import flash.events.MouseEvent; import flash.geom.Point; [Code] .....
i used some variable, which was not initialized properly. I got a runtime error related to Null Object Reference.It was a hell, to find out, which variable was it pointing to. Cannot it be more informative, if it says, on which particular variable ( or bunch of variables), did the compiler found the null object reference. Or atleast provide me the lineNumber/linenumbers where it find the null object.The informationlessness becomes more hell, when there is more than one line, in which such null objects are used. It's hard to determine, if the line removed currently was a correct attempt or wrong attempt towords debugging the code.
Im trying to finish a small project im working on and this is the only bit that i have difficulty with. I have an image which tracks the mouse and reveals a masked image below. When the user clicks on the screen it plays the rest of the movie.The error message is: TypeError: Error #1009: Cannot access a property or method of a null object reference. at newmovie_fla::MainTimeline/moveMask()
The code i have used is: stop() curtains.mask = light;light.cacheAsBitmap = true;curtains.cacheAsBitmap = true;
gallery1.swf is the default swf, when I click the btn for gallery 2 I get TypeError: Error #1009:Cannot access a property or method of a null object reference at allery1_fla::MainTimeline/startToMoveThumbs()
stop(); var Xpos:Number = 0;var Ypos:Number = 80;var swf:MovieClip;var loader:Loader = new Loader(); var defaultSWF:URLRequest = new URLRequest("swfs/gallery1.swf");
When I try to run this code with the main file being documentclass and the highest in the code heirarchy, it comes up with error 1009, but I cant see the problem. The playscreen class with the constructer function is there, in the same folder as the document class but document class is saying it is a null object reference. When I try to run the code with the main file being playscreen, there is no problem, it runs perfectly.
[Code]...
The playscreen class is too big to fit here and I dont want to trouble you with the details. But I can assure you it DOES exist and it is NOT null.
I have an error that is not negatively effecting anything, but I'd rather fix it if I can. I have to do with "MouseEvents" when I change from one scene to the next. As in the objects do not exist in the "new" scene so there is a "null object referenced" error. The objects are not referenced in the new scene. Its a "mouseOver" and so when the scene changes and the "MouseOut" happens it tries to exicute a funciton on an object that is no longer available. I was thinking of changing the functions to "if/Else" statements, as in: "if currentScene=X Mouse out, Else "NOTHING"
This might be alittle complicated to explain but I'll try to do my best.I have a basic setup of 3x4 isometric boxes that you can drag and sort around on a grid. This works just fine. Each box is a instance of a custom class of mine called Kiste (which consists of several sub-objects).hile sorting I have to use a procedure like this to get the parent Kiste-object of the dropTarget as droptarget will always get me the "lowest" object possible instead of the topmost:
Code: function whileDrag(e:Event):void{ var dt:DisplayObject = dropper.dropTarget; // Dropper is a empty Sprite that is constantly
I'm using Flash Professional cs5/AS3 I'll try and describe this the best I can. I'm new to ActionScript. So, in my timeline I have a var on a frame that represents "lives" and i have some code in the timeline that takes down the number of lives depending on certain events, which all works great.
so, now i wanted to make a constructor class that I could reuse for a bunch of movie clip objects and I only want these objects to be able to move if the lives variable is greater than certain number. So now, building my constructor class for these objects i just wanted put an if statement that is looking to see if the lives are greater than a certain number, which if it is then should make these objects do what i want...But, when i run the project I get "1120: Access of undefined property lives."
lives is the var I made obviously like I said, and it works fine being referenced everyone else except when I make a new .as file for these objects then try and reference it. I get the same error when I try and establish "lives" in the main project class too. I'm not sure where I should put this var or how I can make it so i can reference it from an object class. I'm not really sure how to word or describe my issue which has made it hard to search for a tutorial.
Basically I have 2 classes, A and B. B derives from A. Inside A, I declare a static variable/constant to the class of B. When I run the program, I get a null object reference error, with the line pointing to the class declaration of B, i.e.
Code: public class B extends A
For reference, these are the 2 classes:
Code: package { public class A {
[code]...
Also, this error only occurs when the variable is static. If it's just a normal variable it works fine, i.e.
Code: private var OTHER:Class = B;
If I change the static variable to point to a different class, it's also fine, i.e.
Code: private static var OTHER:Class = Main;
I can probably work around this, but it's a bit of a pain in the ass. Anybody know what's causing it, or is this a Flash bug?
I have this preloader code on frame 1 in my MAIN swf file with the content on frame 2
Actionscript Code:
stop(); //Import the required assetsimport flash.display.*;//Stop the playhead while loading occursthis.stop();//Create a listener to call the loading function as the movie loadsthis.loaderInfo.addEventListener (ProgressEvent.PROGRESS, PL_LOADING);/*This is the main function,
[code]....
Also an external swf file is loaded using the same code on frame 1 in its main timeline this works when I test local but it outputs an error....
at welcome_fla::MainTimeline/PL_LOADING() TypeError: Error #1009: Cannot access a property or method of a null object reference. at welcome_fla::MainTimeline/PL_LOADING()
On line this prevents it from working at all.Basically I need each external content to have its own preloader for its content.If you go to my site you will see it works on the intital load but when you hit the home button it fails [URL]
I'm having a hard time because of an "Error #1009:Cannot access a property or method of a null object reference" Iget everytime I try to run my Flash-movie. I've attached the codethat is contained in frame 1.The function bringUpEasyQuestion is defined on frame 2, alongwith other functions that are defined there. Now when I test themovie, I get this message:TypeError: Error #1009: Cannot access a property or method ofa null object reference.at MES_fla::MainTimeline/bringUpEasyQuestion()atMES_fla::MainTimeline/frame1()I've read that the Error1009-message means that you aretrying to access something that isn't there yet. And indeed, thebringUpEasyQuestion-function accesses objects that exist only onframe 2. But the first line of the function bringUpEasyQuestion isgotoAndStop(2);. The curious thing is that it works when i put thelast line of the code in frame one (the function callbringUpEasyQuestion(0);) on the first line with the command gotoAndStop(2);?
i made an external .swf with the "Displaycontent = image slideshow" in it voor the main site called Teaser, so when i press a button on the main site, it loads the Teaser.swf.when i press that button again, it loads again the Teaser.swf on top of the first Teaser.swf. so i decided to remove the first swf, but then the problem started."TypeError: Error #1009: Cannot access a property or method of a null object reference at easer_fla::MainTimeline/onResizeStage() line 128at Teaser_fla::MainTimeline/onTeasLoaded() line 70