|
|
|||||
Опять про ошибку #1009
Вообщем мной давно была написана флешка на AS3, на ней размещены некоторые кнопки. Сейчас возникла необходимость ее подредактировать.
Парадокс в том что все работает..., но как только я удаляю кнопу и вместо нее рисую другую, с тем же instance name, сразу все перестает работать и пишет TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". Что за ерунда? Помогите! |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Цитата:
Ну код надо смотреть. Скорее всего использовался getChildByName, может быть getChildAt с последующим приведением к неправильному типу и т.д.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Да нет же, в коде все отлично, все работает, на сцене используються 4 кнопки , если удалить любую и вместо нее нарисовать новую, или импортировать в library и потом отконвертировать в button то все сразу ошибку выбивает при отслеживании действий с этой кнопокй. вот в этом месте
Мной была удалена и нарисована кнопка rightbut. |
|
|||||
Регистрация: Nov 2008
Адрес: Атланта
Сообщений: 1,271
|
показывай и исходник так же
__________________
Пока я жив, Вы горем обеспечены |
|
|||||
Исходник слишком большой чтоб его полностью здесь вылаживать (речь идет о целом сайте на флеше)
вообще вот это в fla файле import fl.transitions.Tween; import fl.transitions.TweenEvent; import fl.transitions.easing.*; import flash.display.Loader; import flash.net.*; import flash.events.*; import flash.display.Sprite; import flash.text.TextField; import flash.text.*; import flash.display.MovieClip; import flash.geom.PerspectiveProjection; import flash.display.BitmapData; import flash.display.Bitmap; import flash.geom.Rectangle; import flash.filters.BlurFilter; ///////////////////////////////////////////////////////////////////// var img1:Sprite = new Sprite(); var img2:Sprite = new Sprite(); var img3:Sprite = new Sprite(); var img4:Sprite = new Sprite(); var img5:Sprite = new Sprite(); var pP:PerspectiveProjection = new PerspectiveProjection(); var pP1:PerspectiveProjection = new PerspectiveProjection(); var loader:Array =new Array(); var urlstring:Array = new Array(); var urlpage:Array = new Array(); var url:URLRequest = new URLRequest(); var p:Number=new Number ; var i:int; var w:int=1; var chislostranictxt:URLLoader = new URLLoader(); var urltxt:URLLoader = new URLLoader(); var msg:TextField = new TextField(); var integer:Number=0; var chislostranic:Number=0; var prl=0; var prlstr:TextField = new TextField(); /////////////////////////////////////////////// загрузка текста и изображений///// try { chislostranictxt.load(new URLRequest("file:///E:/flash/site/res/chislostranic.txt")); urltxt.load(new URLRequest("file:///E:/flash/site/res/weblink.txt")); } catch (error:Error) { trace("Не могу загрузить текст"); } preloadmessage(); configureListeners(chislostranictxt); urltxtListeners(urltxt); global function progressHandler(event:ProgressEvent):void { trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal); } global function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS,progressHandler); } global function urltxtListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.COMPLETE, urltxtcomplete); dispatcher.addEventListener(ProgressEvent.PROGRESS,progressHandler); } global function urltxtcomplete(event:Event):void { .... } global function completeHandler(event:Event):void { var chislostranictxt:URLLoader=URLLoader(event.target); trace("completeHandler2323: " + chislostranictxt.data); var integer:uint=uint(Number(chislostranictxt.data)); chislostranic=integer; for (i=1; i<=chislostranic; i++) { url=new URLRequest("file:///E:/flash/site/res/page-"+i+".jpeg"); loader[i]=new Loader ; loader[i].load(url); loader[i].contentLoaderInfo.addEventListener(Event.COMPLETE, preload); } stranica1(); } global function preload(event:Event):void { prl=prl+1; prlstr.x=400; prlstr.y=750; prlstr.width=150; var format:TextFormat = new TextFormat(); format.font="Courier New"; format.color=0x0000FF; format.size=12; prlstr.defaultTextFormat = format; prlstr.text="Загружено страниц: "+prl; addChild(prlstr); if (prl==chislostranic) removeChild(prlstr); if (prl==10) removeChild(msg); } global function preloadmessage():void { var format1:TextFormat = new TextFormat(); format1.font="Courier New"; format1.color=0x0000FF; format1.size=20; msg.defaultTextFormat = format1; msg.text="Пожалуйста, дождитесь окончания загрузки ролика..."; msg.x=250; msg.y=200; msg.width=700; addChild(msg); } /////////////////////////////////////////////// загрузка текста и изображений///// ////////////////////////////////////////////// формирование страниц////////////// global function stranica1():void { ..... } global function stranica2():void { .... } global function stranica3():void { ..... } global function stranica4():void { ...... } global function stranica5():void { ..... package main{ import flash.display.*; import flash.events.*; import flash.display.Sprite; import flash.display.Graphics; import flash.display.MovieClip; import flash.ui.*;// для работы с клавой import fl.transitions.Tween; import fl.transitions.TweenEvent; import flash.net.URLRequest; import flash.display.Loader; import flash.net.*; import flash.text.TextField; import flash.geom.Point; dynamic public class Cod extends MovieClip {; public function Cod():void { stage.addEventListener(KeyboardEvent.KEY_DOWN, keyboard); addEventListener(Event.ENTER_FRAME, reaction, false,0,true); leftbut.addEventListener(MouseEvent.MOUSE_DOWN, mouseleft); rightbut.addEventListener(MouseEvent.MOUSE_DOWN, mouseright); rightbutx10.addEventListener(MouseEvent.MOUSE_DOWN, mouserightx10); leftbutx10.addEventListener(MouseEvent.MOUSE_DOWN, mouseleftx10); } /////////////////////////////////////////////////////////////////////////////////////////////////////// var r=181; var j=1; var page=1; var k=0; //////////////////////////////////////////////// обработчик мыши///////// function mouseleft(e:MouseEvent):void { leftlist(); } function mouseright(e:MouseEvent):void { rightlist(); } function mouserightx10(e:MouseEvent):void { if (page==1) { j=j-2; } if (page<=chislostranic-11) { page=page+7; j=j+7; } rightlist(); } function mouseleftx10(e:MouseEvent):void { if (page>=13) { page=page-9; j=j-9; } leftlist(); } |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Из кода непонятно...
Может, у Вас внутри кнопки тоже были прописаны actions? Попробуйте удалять не кнопку сразу, а постепенно, удаляя по элементу внутри её и смотрите когда выползет ошибка. На крайний случай удалите всё из кнопки и нарисуйте в той же кнопке.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
напишите пожалуйста пример как можно объявить кнопку динамически и чтоб она была рисунком находящимся в library.
Пишу что то подобное var rightbut:Button = new Button(); выдает ошибку 1046: Type was not found or was not a compile-time constant: Button. Добавлено через 14 минут Блин полтергейст какой то, сейчас взял просто удалил кнопку со сцены, запустил все работает только удаленная кнопка естественно отсутствует, потом вставил ее назад из library, компилирую, ошибок никаких не выдает, но никакой реакции на нажатие любых из кнопок, хотя кнопки реагируют когда подводишь мышку к ним. Насчет кода написанного на самих кнопках - его нет, просто на кадре OVER кнопка чуть смещена относительно кадра UP Последний раз редактировалось helgboy; 28.09.2010 в 12:33. |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Что тут думать - если 1009, то ищите "свойство или метод со ссылкой на объект "null"" и размышляете, почему оно нулл. По крайней мере находится оно элементарно, но по-моему никто из пишущих про 1009 этого не делает. Если 1046: Type was not found, то оно не знает такого типа, импортите этот тип.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
Часовой пояс GMT +4, время: 21:07. |
|
« Предыдущая тема | Следующая тема » |
|
|