Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
the_nokard
2 / 2 / 2
Регистрация: 15.02.2015
Сообщений: 22
Завершенные тесты: 1
1
AS 3.0

Error #1009 из воздуха

02.08.2015, 16:37. Просмотров 633. Ответов 4
Метки нет (Все метки)

В процессе разработки игры я создал кнопку переключения между локальной/глобальной таблицей рекордов* и прилепил к ней такой код:
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
globaler_mc.addEventListener(MouseEvent.CLICK, sLOrGHs);
... Some other code ...
function sLOrGHs(e:MouseEvent){
    if (highscoreType == 1){
        highscoreType = 2;
        globaler_mc.play();
    }else if(highscoreType == 2){
        highscoreType = 1;
        globaler_mc.play();
    }else{
        trace("invalid highscoreType \""+highscoreType+"\".");
    }
    //trace("highscoreType \""+highscoreType+"\".");
}
Всё бы ничего, но при дальнейшей проверке, в окно трейса начала выскакивать ошибка #1009.
Кликните здесь для просмотра всего текста
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at main_fla::MainTimeline/frame4()
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at main_fla::localizator_18()
at flash.display::MovieClip/gotoAndPlay()
at main_fla::MainTimeline/leaderboard()

Самое интересное, что при перенесении этого скрипта(и целого кадра) в другой проект, ошибка не появляется.

Кому надо, полный скрипт данного кадра:
Кликните здесь для просмотра всего текста
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import flash.events.*;
 
stop();
 
menu_btn.addEventListener(MouseEvent.CLICK, menu);
globaler_mc.addEventListener(MouseEvent.CLICK, sLOrGHs);
 
TraceHighscores(tRexObj.myLeaderboard);
var highscoreType:int = 1;
 
function menu(e:MouseEvent){
    menu_btn.removeEventListener(MouseEvent.CLICK, menu);
    globaler_mc.addEventListener(MouseEvent.CLICK, sLOrGHs);
    trace("Goto menu\n--------------");
    gotoAndPlay("frame_menu");
}
function TraceHighscores(arr:Array){
    var scores:Array = new Array;
    scores = arr;
    //scores = tRexObj.myLeaderboard;
    scores = prepaireToLeaderboard(scores);
    traceInTxtFields(scores);
}
function prepaireToLeaderboard(arr:Array):Array{
    var mArr:Array = arr;
    mArr.sort(function (a:Array, b:Array){var aScore:Number = a[1];var bScore:Number = b[1];if(aScore > bScore) {return 1;} else if(aScore < bScore) {return -1;} else  {return 0;}});
    mArr.reverse();
    return mArr;
}
 
function traceInTxtFields(arr:Array){
    var jobArr:Array = arr;
    jobArr.splice(5);
    name1_txt.text = jobArr[0][0];
    score1_txt.text = jobArr[0][1];
    name2_txt.text = jobArr[1][0];
    score2_txt.text = jobArr[1][1];
    name3_txt.text = jobArr[2][0];
    score3_txt.text = jobArr[2][1];
    name4_txt.text = jobArr[3][0];
    score4_txt.text = jobArr[3][1];
    name5_txt.text = jobArr[4][0];
    score5_txt.text = jobArr[4][1];
}
 
function sLOrGHs(e:MouseEvent){
    if (highscoreType == 1){
        highscoreType = 2;
        globaler_mc.play();
    }else if(highscoreType == 2){
        highscoreType = 1;
        globaler_mc.play();
    }else{
        trace("invalid highscoreType \""+highscoreType+"\".");
    }
    //trace("highscoreType \""+highscoreType+"\".");
}
На кнопке никаких скриптов не стоит.


Как исправить эту ошибку?
______________________________________________________________________________________________________
*Для того, чтобы не возиться с событиями, я собрал её как мувиклип, внутри которого находятся 2 кнопки(см. скриншот ниже).
0
Миниатюры
Error #1009 из воздуха   Error #1009 из воздуха  
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2015, 16:37
Ответы с готовыми решениями:

RemoveEvent в классе: TypeError: Error #1009: Cannot access a property or method of a null object reference
Есть класс объекта, в основном классе создается 6 объектов этого класса. Есть ф-ция, которая по...

Ошибка [Fault] exception, information=TypeError: Error #1009: Cannot access a property or method of a null object reference
Есть Библиотека fl_package.swc. Среда Flash Develop Код: ... import fl.controls.RadioButton;...

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null"
Здравствуйте! Столкнулся с такой ошибкой: Вот код:...

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
Здравствуйте, все сделала по уроку, но у меня выдает ошибку &quot;null&quot;. Подскажите где ошибка

4
the_nokard
2 / 2 / 2
Регистрация: 15.02.2015
Сообщений: 22
Завершенные тесты: 1
02.08.2015, 16:46  [ТС] 2
*Забыл уточнить. Кнопки находятся в разных кадрах данного movieClip-а.
0
TanaTiX
Модератор
2810 / 1667 / 169
Регистрация: 19.02.2011
Сообщений: 6,138
Завершенные тесты: 2
02.08.2015, 18:05 3
Цитата Сообщение от the_nokard Посмотреть сообщение
*Забыл уточнить. Кнопки находятся в разных кадрах данного movieClip-а.
Забудьте про кадры. Пишите в классах - половины проблем не будет. Про то как писать в классах смотрите тут: Урок. Структура АС3-проекта
0
the_nokard
2 / 2 / 2
Регистрация: 15.02.2015
Сообщений: 22
Завершенные тесты: 1
02.08.2015, 21:15  [ТС] 4
Цитата Сообщение от TanaTiX Посмотреть сообщение
Забудьте про кадры. Пишите в классах - половины проблем не будет.
Я понимаю, что классы удобные, но проект изначально был разработан в кадрах, а переделывать его не позволяет нехватка времени и матерь лень, поэтому хотелось бы узнать причину вышеописанной ошибки и её исправление.
0
TanaTiX
Модератор
2810 / 1667 / 169
Регистрация: 19.02.2011
Сообщений: 6,138
Завершенные тесты: 2
02.08.2015, 22:47 5
the_nokard, по той же причине (лень, и не только) не буду влезать в дебри вашего проекта. По опыту скажу, что часто подобные проблемы возникают как раз из-за того, что в одном кадре объект есть, а в другом его нет, тогда программа и пытается к нему обратиться, что вызывает ошибку.
0
02.08.2015, 22:47
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2015, 22:47

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null"
Имеется пакет сделанный на Adobe Flash Builder (AFB), создан 1 класс и подключен к главному проекту...

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null"
Помогите пожалуйста, что нужно сделать, чтобы убрать эту ошибку?

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at _fla::MainTimel
Народ, помогите, пожалуйста, что не так... stop(); var clickCounter:int = 0; var...

TypeError 1009
Приветствую всех. Недавно начал знакомство с программированием для вк и сейчас углубляюсь в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.