Skip to main content
Participant
April 13, 2021
Question

#1009: Cannot access a property or method of a null object reference.

  • April 13, 2021
  • 2 replies
  • 246 views

hii guys, i need help with this. and do I need to show you my action script? please tell me so. thank you, hope you guys can help me

    This topic has been closed for replies.

    2 replies

    Participant
    April 13, 2021

    this is my action script by the way, please take a look with this 🙂 and I used class with this one.

    ps. this is a school project and needs to be done by Thursday 😞


    var enterPressed: Boolean = false;
    var spacePressed: Boolean = false;
    var upPressed: Boolean;
    var downPressed: Boolean;
    var leftPressed: Boolean;
    var rightPressed: Boolean;
    var WPressed: Boolean;
    var SPressed: Boolean;
    var APressed: Boolean;
    var DPressed: Boolean;
    var shieldMax: int = 100;
    var damage: int = 20;
    var carshield1: Number = shieldMax;
    var carshield2: Number = shieldMax;
    var dot1: Dot1;
    var dot2: Dot2;
    var dot1Array: Array = new Array();
    var dot1Ready: Boolean = false;
    var dot2Array: Array = new Array();
    var dot2Ready: Boolean = false;
    const dotspeed: int = 20;
    carmeter1.height = shieldMax;
    carmeter2.height = shieldMax;
    var endOfLife: Boolean = false;


    car1.x = 276;
    car1.y = 417;
    car2.x = 361;
    car2.y = 418;


    stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPress);
    stage.addEventListener(KeyboardEvent.KEY_UP, onKeyRelease);
    stage.addEventListener(Event.ENTER_FRAME, playGame);

    car1.speed = 5;
    car2.speed = 5;
    car1.turning = 3;
    car2.turning = 3;

    function onKeyPress(e: KeyboardEvent): void {

    if (e.keyCode == Keyboard.UP) {
    upPressed = true;
    }
    if (e.keyCode == Keyboard.DOWN) {
    downPressed = true;
    }
    if (e.keyCode == Keyboard.LEFT) {
    leftPressed = true;
    }
    if (e.keyCode == Keyboard.RIGHT) {
    rightPressed = true;
    }
    if (e.keyCode == Keyboard.W) {
    WPressed = true;
    }
    if (e.keyCode == Keyboard.S) {
    SPressed = true;
    }
    if (e.keyCode == Keyboard.A) {
    APressed = true;
    }
    if (e.keyCode == Keyboard.D) {
    DPressed = true;
    }
    if (e.keyCode == Keyboard.ENTER) {
    enterPressed = true;
    if (!dot2Ready) {
    dot2 = new Dot2();
    dot2Ready = true;
    }
    }
    if (e.keyCode == Keyboard.SPACE) {
    spacePressed = true;
    if (!dot1Ready) {
    dot1 = new Dot1();
    dot1Ready = true;
    }
    }
    }


    function onKeyRelease(e: KeyboardEvent): void {
    if (e.keyCode == Keyboard.UP) {
    upPressed = false;
    }
    if (e.keyCode == Keyboard.DOWN) {
    downPressed = false;
    }
    if (e.keyCode == Keyboard.LEFT) {
    leftPressed = false;
    }
    if (e.keyCode == Keyboard.RIGHT) {
    rightPressed = false;
    }
    if (e.keyCode == Keyboard.W) {
    WPressed = false;
    }
    if (e.keyCode == Keyboard.S) {
    SPressed = false;
    }
    if (e.keyCode == Keyboard.A) {
    APressed = false;
    }
    if (e.keyCode == Keyboard.D) {
    DPressed = false;
    }
    if (e.keyCode == Keyboard.ENTER) {
    enterPressed = false;
    }
    if (e.keyCode == Keyboard.SPACE) {
    spacePressed = false;
    }
    }
    function deg2rad(deg: Number): Number {
    return deg * (Math.PI / 180);
    }

    function playGame(e: Event): void {
    var i: int;
    var dx: Number;
    var dy: Number;

    if (upPressed) {
    car2.moveForward();
    }
    if (downPressed) {
    car2.moveBackward();
    }
    if (leftPressed) {
    car2.turnLeft();
    }
    if (rightPressed) {
    car2.turnRight();
    }
    if (WPressed) {
    car1.moveForward();
    }
    if (SPressed) {
    car1.moveBackward();
    }
    if (APressed) {
    car1.turnLeft();
    }
    if (DPressed) {
    car1.turnRight();
    }
    if (dot1Ready) {
    dot1.x = car1.x
    }
    if (dot2Ready) {
    dot2.x = car2.x
    }
    if (carshield2 == 0) {
    trace("Game Over");
    gameOver.text = String("Blue Car win");
    }
    if (carshield1 == 0) {
    trace("Game Over");
    gameOver.text = String("Red Car win");
    }
    if (!spacePressed && dot1Ready) {
    trace("dot1 ready");
    dot1.y = car1.y;
    dot1.x = car1.x;
    dot1.rotation = car1.rotation;
    addChild(dot1);
    dot1Array.push(dot1);
    dot1Ready = false;
    }
    for (i = 0; i < dot1Array.length; i++) { // move dots in array
    trace("move dot1");
    if (dot1Array[i].y < 0) {
    removeChild(dot1Array[i]); // remove when goes out of stage
    dot1Array.splice(i, 1);
    } else {
    dy = Math.sin(deg2rad(dot1Array[i].rotation)) * dotspeed;
    dx = Math.cos(deg2rad(dot1Array[i].rotation)) * dotspeed;
    dot1Array[i].y = dot1Array[i].y + dy;
    dot1Array[i].x = dot1Array[i].x + dx;
    if (car2.hitTestObject(dot1Array[i])) {
    carshield2 = carshield2 - damage;
    carmeter2.height = carshield2;
    removeChild(dot1Array[i]);
    dot1Array.splice(i, 1);
    } else if (carshield2 == 0) {
    trace("Game Over 2");
    gameOver.text = String("Blue Car win");
    }
    }

    }

    if (!enterPressed && dot2Ready) { // launch a dot by adding to array
    trace("dot2 ready");
    dot2.x = car2.x;
    dot2.y = car2.y;
    dot2.rotation = car2.rotation;
    addChild(dot2);
    dot2Array.push(dot2);
    dot2Ready = false;
    }

    for (i = 0; i < dot2Array.length; i++) { // move dots in array
    trace("move dot2");
    if (dot2Array[i].y < 0) {
    removeChild(dot2Array[i]); // remove when goes out of stage
    dot2Array.splice(i, 1);
    } else {
    dy = Math.sin(deg2rad(dot2Array[i].rotation)) * dotspeed;
    dx = Math.cos(deg2rad(dot2Array[i].rotation)) * dotspeed;
    dot2Array[i].y = dot2Array[i].y + dy;
    dot2Array[i].x = dot2Array[i].x + dx;
    if (car1.hitTestObject(dot2Array[i])) {
    carshield1 = carshield1 - damage;
    carmeter1.height = carshield1;
    removeChild(dot2Array[i]);
    dot2Array.splice(i, 1);
    } else if (carshield1 == 0) {
    trace("Game Over");
    gameOver.text = String("Red Car win");
    }

    }


    }
    }

    Participant
    April 13, 2021

    every time i click the button that error appears