Ошибка # 1009: Не удается получить доступ к свойству или методу ссылки на нулевой объект. в MethodInfo-10(). Я получаю эту ошибку при запуске этого кода. Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно. Он не показывает мне, где ошибка, и строка ошибки. ThanksОшибка Action Script 3.0
package
{
import flash.events.MouseEvent;
import flash.display.MovieClip;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
public class Main extends MovieClip
{
public function Main()
{
stop();
start_btn.addEventListener(MouseEvent.CLICK, gothere);
function gothere(clickInfo:MouseEvent)
{
start_btn.removeEventListener(MouseEvent.CLICK, gothere);
nextFrame();
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, key_pressed);
function key_pressed(event:KeyboardEvent):void
{
switch (event.keyCode)
{
case Keyboard.UP :
{
player.y += -5;
if ((wall1.hitTestPoint(player.x - player.width/2, player.y - player.height/2,true)) || (wall2.hitTestPoint(player.x - player.width/2, player.y - player.height/2,true)))
{
player.y += 5;
nextFrame();
playagain_btn.addEventListener(MouseEvent.CLICK, goback);
function goback(event:MouseEvent):void
{
playagain_btn.removeEventListener(MouseEvent.CLICK, goback);
prevFrame();
}
}
else if ((wall1.hitTestPoint(player.x + player.width/2, player.y - player.height/2,true)) || (wall2.hitTestPoint(player.x + player.width/2, player.y - player.height/2,true)))
{
player.y += 5;
nextFrame();
playagain_btn.addEventListener(MouseEvent.CLICK, goback1);
function goback1(event:MouseEvent):void
{
playagain_btn.removeEventListener(MouseEvent.CLICK, goback1);
prevFrame();
}
}
else if (player.hitTestObject(finish))
{
gotoAndStop(4);
}
break;
};
case Keyboard.DOWN :
{
player.y += 5;
if ((wall1.hitTestPoint(player.x - player.width/2, player.y + player.height/2,true)) || (wall2.hitTestPoint(player.x - player.width/2, player.y + player.height/2,true)))
{
player.y += -5;
nextFrame();
playagain_btn.addEventListener(MouseEvent.CLICK, goback2);
function goback2(event:MouseEvent):void
{
playagain_btn.removeEventListener(MouseEvent.CLICK, goback2);
prevFrame();
}
}
else if ((wall1.hitTestPoint(player.x + player.width/2, player.y + player.height/2,true)) || (wall2.hitTestPoint(player.x + player.width/2, player.y + player.height/2,true)))
{
player.y += -5;
nextFrame();
playagain_btn.addEventListener(MouseEvent.CLICK, goback3);
function goback3(event:MouseEvent):void
{
playagain_btn.removeEventListener(MouseEvent.CLICK, goback3);
prevFrame();
}
}
else if (player.hitTestObject(finish))
{
gotoAndStop(4);
}
break;
};
case Keyboard.LEFT :
{
player.x += -5;
if ((wall1.hitTestPoint(player.x - player.width/2, player.y - player.height/2,true)) || (wall2.hitTestPoint(player.x - player.width/2, player.y - player.height/2,true)))
{
player.x += 5;
nextFrame();
playagain_btn.addEventListener(MouseEvent.CLICK, goback4);
function goback4(event:MouseEvent):void
{
playagain_btn.removeEventListener(MouseEvent.CLICK, goback4);
prevFrame();
}
}
else if ((wall1.hitTestPoint(player.x - player.width/2, player.y + player.height/2,true)) || (wall2.hitTestPoint(player.x - player.width/2, player.y + player.height/2,true)))
{
player.x += 5;
nextFrame();
playagain_btn.addEventListener(MouseEvent.CLICK, goback5);
function goback5(event:MouseEvent):void
{
playagain_btn.removeEventListener(MouseEvent.CLICK, goback5);
prevFrame();
}
}
else if (player.hitTestObject(finish))
{
gotoAndStop(4);
}
break;
};
case Keyboard.RIGHT :
{
player.x += 5;
if ((wall1.hitTestPoint(player.x + player.width/2, player.y - player.height/2,true)) || (wall2.hitTestPoint(player.x + player.width/2, player.y - player.height/2,true)))
{
player.x += -5;
nextFrame();
playagain_btn.addEventListener(MouseEvent.CLICK, goback6);
function goback6(event:MouseEvent):void
{
playagain_btn.removeEventListener(MouseEvent.CLICK, goback6);
prevFrame();
}
}
else if ((wall1.hitTestPoint(player.x + player.width/2, player.y + player.height/2,true)) || (wall2.hitTestPoint(player.x + player.width/2, player.y + player.height/2,true)))
{
player.x += -5;
nextFrame();
playagain_btn.addEventListener(MouseEvent.CLICK, goback7);
function goback7(event:MouseEvent):void
{
playagain_btn.removeEventListener(MouseEvent.CLICK, goback7);
prevFrame();
}
}
else if (player.hitTestObject(finish))
{
gotoAndStop(4);
}
break;
}
}
}
}
}
};
В коде отсутствует функция MethodInfo-10(). Ошибка означает, что вы пытаетесь получить доступ к полям нулевой (пустой, не инициализированной) ссылки на объект. Файл> Параметры публикации> Разрешить отладку, чтобы узнать точную строку, которая создает ошибку. – Organis
Ошибка # 1009: Не удается получить доступ к свойству или методу ссылки на нулевой объект. \t в функции/Главная/$ construct/key_pressed(). Это ошибка после изменения настроек. – Fahad
Скорее всего, ошибка в брекетинге вложенных функций. Переместите все их на тот же уровень, что и 'Main()', как предлагает @Organis, и сохраните их там в вашем проекте. Это, несомненно, улучшит вашу способность отладки и расширения. – Vesper