ForumsProgramming ForumProblem?

7 6008
alex57834
offline
alex57834
88 posts
Nomad

Getting this error:
Document Class Working
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at avatar()
at Document()
and make the answer sort of simple to understand please,


package {

import flash.display.MovieClip;

public class Document extends MovieClip {

var avatarGuy:avatar;

public function Document()
{
trace("Document Class Working"

var avatarGuy:avatar = new avatar();
avatarGuy.x = 20;
avatarGuy.y = 90;
addChild(avatarGuy);

}

}

}

package {

import flash.display.MovieClip;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;

public class avatar extends MovieClip {

public function avatar():void
{
stage.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDown);
}

private function myKeyDown(Event:KeyboardEvent):void
{
trace("key press"
}

}

}

  • 7 Replies
weirdlike
offline
weirdlike
1,299 posts
Prince

looks like you declare the variable 2 times, maybe not the issue I think the issue is actually using the stage in your avatar class without importing it

package {

import flash.display.MovieClip;

public class Document extends MovieClip {

//declare var here
var avatarGuy:avatar;

public function Document()
{
trace("Document Class Working"

//change to this
avatarGuy = new avatar(stage);
avatarGuy.x = 20;
avatarGuy.y = 90;
addChild(avatarGuy);

}

}

}

package {

import flash.display.MovieClip;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;

public class avatar extends MovieClip {
//the s
public function avatar(stage):void
{
stage.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDown);
}

private function myKeyDown(Event:KeyboardEvent):void
{
trace("key press"
}

}

}


I think this will work I did not test

alex57834
offline
alex57834
88 posts
Nomad

yeah working thanks wierdlike

alex57834
offline
alex57834
88 posts
Nomad

One more little question. I am sort of following a tutorial on how to make things work and in the myKeyDown function they put
trace(e.KeyCode);
and it says



avatar.as, Line 17 1120: Access of undefined property e.

alex57834
offline
alex57834
88 posts
Nomad

Its a tutorial on how to make things move sorry and they put the trace(e.KeyCode); in the myKeyDown function. I followed
and it didn't work for me so has as3 changed or was the tutorial wrong?

Sorry for the confusing other reply.

weirdlike
offline
weirdlike
1,299 posts
Prince

I suspect the tutorial is correct as there are a few different ways to approach the key down method, so I am going to take a wild guess and go off the above code here

private function myKeyDown(Event:KeyboardEvent):void
{
trace(Event.KeyCode);
}

the event is the triggering argument that is being passed, if you wanted you could change the text in bold to e and it would still work

alex57834
offline
alex57834
88 posts
Nomad

Another problem, I don't know whats wrong with me, soooo confused.
Some how it cant move the avatar becuase
C:\\Users\\Alex The Best\\Documents\\My Games\\Platformer\\Classes\\avatar.as, Line 20 1120: Access of undefined property avatarGuy.

I really don't understand how I haven't defined it.


package {

import flash.display.MovieClip;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;

public class avatar extends MovieClip {

public function avatar(stage):void
{
stage.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDown);
}

private function myKeyDown(Event:KeyboardEvent):void
{
if (Event.keyCode == Keyboard.LEFT)
{
trace("This is working"
avatarGuy.x -= 5;
}
}

}

}




package {

import flash.display.MovieClip;

public class Document extends MovieClip {

var avatarGuy:avatar;

public function Document()
{
trace("Document Class Working"

var avatarGuy:avatar = new avatar(stage);
avatarGuy.x = 50;
avatarGuy.y = 265;
addChild(avatarGuy);

}

}

}

weirdlike
offline
weirdlike
1,299 posts
Prince

private function myKeyDown(Event:KeyboardEvent):void
{
if (Event.keyCode == Keyboard.LEFT)
{
trace("This is working"
this.x -= 5;
}
}

avatar class cant look at itself

Showing 1-7 of 7