Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.09.2009, 17:35
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 1  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
По умолчанию ошибка при рисовании

здравствуйте.
у меня выпадает ошибка при рисовании.
код такой

Код AS3:
 
public function init(zoom:Number):void{
			this.addEventListener(Event.SELECT,onSelect);
			this.addEventListener(Event.OPEN,onSelect);
			this.addEventListener(MouseEvent.CLICK,onSelect);
		    this.workSpaceRectangle = new Rectangle(316,265,962,322);
					fg.graphics.lineStyle(0,0x44ff55);//рисование сетки
			for (var i:int=0;i<=64;i++){
				fg.graphics.moveTo(0,i*zoom);
				fg.graphics.lineTo(fg.width,i*zoom);
			}
			for (i=0;i<=192;i++){
				fg.graphics.moveTo(i*zoom,0);
				fg.graphics.lineTo(i*zoom,fg.height);
			}
			fg.alpha = 30;
		}

первый вызов происходит и все рисует как надо(рисуется сетка).
при повторном вызове этои же функции выдает такую ошибку

Код AS1/AS2:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
	at micro.screens::RSMH_mono/init()[D:\AirPort\src\micro\screens\RSMH_mono.mxml:24]
	at AirPort/zoom()[D:\AirPort\src\AirPort.mxml:323]
	at AirPort/onKeyUp()[D:\AirPort\src\AirPort.mxml:257]

в чем дело???
кто скажет

Добавлено через 58 секунд
24 строка это
Код AS3:
fg.graphics.lineStyle(0,0x44ff55);//рисование сетки
остальные строки это нажатие на кнопку и вызов функции.там все ок

Старый 04.09.2009, 17:36
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 2  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
очевидно fg у вас null. Больше вроде ничего nullo'м быть не должно.
И да, нафига повторно вешать слушателей?
__________________
#flasher@irc.trg.ru:6667

Старый 04.09.2009, 17:37
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 3  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
а как он null если я уже отрисовал в нем?

Старый 04.09.2009, 17:40
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 4  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Цитата:
Сообщение от Dezar Посмотреть сообщение
а как он null если я уже отрисовал в нем?
Когда мне лень разбираться в куске кода, где выдает эту ошибку, я через определенный промежуток пишу трейс, например:

Код AS3:
public function init(zoom:Number):void{
trace(1);
			this.addEventListener(Event.SELECT,onSelect);
			this.addEventListener(Event.OPEN,onSelect);
			this.addEventListener(MouseEvent.CLICK,onSelect);
trace(2);
		    this.workSpaceRectangle = new Rectangle(316,265,962,322);
					fg.graphics.lineStyle(0,0x44ff55);//рисование сетки
trace(3);
			for (var i:int=0;i<=64;i++){
				fg.graphics.moveTo(0,i*zoom);
				fg.graphics.lineTo(fg.width,i*zoom);
			}
trace(4);
			for (i=0;i<=192;i++){
				fg.graphics.moveTo(i*zoom,0);
				fg.graphics.lineTo(i*zoom,fg.height);
			}
trace(5);
			fg.alpha = 30;
		}
Тогда сразу видно где останавливается программа.

К тому-же, никому кроме вас не известно что происходит после первого запуска метода. Может какой-то сторонний код обnull'яет объект
__________________
#flasher@irc.trg.ru:6667


Последний раз редактировалось Obi; 04.09.2009 в 17:42.
Старый 04.09.2009, 17:43
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 5  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
вставил такие же трейсы))))

выдало такое

Код AS1/AS2:
1
TypeError: Error #1009: Cannot access a property or method of a null object reference.
	at micro.screens::RSMH_mono/init()[D:\AirPort\src\micro\screens\RSMH_mono.mxml:25]
	at AirPort/zoom()[D:\AirPort\src\AirPort.mxml:323]
	at AirPort/onKeyUp()[D:\AirPort\src\AirPort.mxml:257]
2
дело в fg.
но.как он может быть null?
а если и может.то что делать?)))
и почему тогда первый раз функция работает?

Старый 04.09.2009, 17:49
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 6  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Может вы весь код покажете наконец?

Старый 04.09.2009, 17:50
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 7  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
Цитата:
покажете наконец?
вы просили?

Старый 04.09.2009, 17:51
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 8  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Цитата:
К тому-же, никому кроме вас не известно что происходит после первого запуска метода. Может какой-то сторонний код обnull'яет объект
И по-моему очевидно, что в функции init fg не обнуляется

Старый 04.09.2009, 20:09
elfon вне форума Посмотреть профиль Отправить личное сообщение для elfon Найти все сообщения от elfon
  № 9  
Ответить с цитированием
elfon
 
Аватар для elfon

Регистрация: Jul 2009
Сообщений: 35
Код в студию.

Старый 04.09.2009, 22:57
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 10  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Оффтоп, но
Код AS3:
fg.alpha = 30;
это омг.

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:49.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.