|
|
|||||
Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
|
ошибка при рисовании
здравствуйте.
у меня выпадает ошибка при рисовании. код такой 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; } первый вызов происходит и все рисует как надо(рисуется сетка). при повторном вызове этои же функции выдает такую ошибку 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 строка это остальные строки это нажатие на кнопку и вызов функции.там все ок |
|
|||||
Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
|
очевидно fg у вас null. Больше вроде ничего nullo'м быть не должно.
И да, нафига повторно вешать слушателей?
__________________
#flasher@irc.trg.ru:6667 |
|
|||||
Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
|
а как он null если я уже отрисовал в нем?
|
|
|||||
Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
|
Когда мне лень разбираться в куске кода, где выдает эту ошибку, я через определенный промежуток пишу трейс, например:
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. |
|
|||||
Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
|
вставил такие же трейсы))))
выдало такое 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 но.как он может быть null? а если и может.то что делать?))) и почему тогда первый раз функция работает? |
|
|||||
Регистрация: Jan 2008
Сообщений: 669
|
Может вы весь код покажете наконец?
|
|
|||||
Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
|
Цитата:
|
|
|||||
Регистрация: Jan 2008
Сообщений: 669
|
Цитата:
|
|
|||||
Регистрация: Jul 2009
Сообщений: 35
|
Код в студию.
|
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
__________________
Тут мужик танцует и поёт про флэш |
Часовой пояс GMT +4, время: 23:49. |
|
« Предыдущая тема | Следующая тема » |
|
|