![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2012
Сообщений: 7
|
У меня 2 класса первый это Main который подключен к сцене и второй Loader который я вызываю через класс Main в котором и происходит предзагрузка..
Main: package net { import flash.display.LoaderInfo; import flash.display.MovieClip; import flash.events.*; public class Main extends MovieClip { private var _load:Load; public function Main() { _load = new Load(loader); } } } package net { import flash.display.MovieClip; import flash.events.*; import flash.display.LoaderInfo; dynamic public class Load extends MovieClip { private var loads; private var total; private var inf; public function Load() { loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressF); loaderInfo.addEventListener(Event.COMPLETE, completeF); // событие наступает когда загрузка окончена } public function progressF(e:ProgressEvent){ //событие наступает в процессе загруски содержимого loads=Math.round(e.bytesLoaded/1024); //функция вызываемая в процессе загрузки total=Math.round(e.bytesTotal/1024); inf=Math.round(loads/total*100); Object(this).t1_txt.text=inf; Object(this).k_mc.width=inf*3; } public function completeF(e:Event){ //функция вызывается после окончания загрузки gotoAndStop(2); } } } при запуске пишет ошибку TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at net::Load() at net::Main() что он хочет? |
|
|||||
|
Регистрация: Jun 2008
Адрес: Tomsk
Сообщений: 88
|
loaderInfo в конструкторе Load не определено
|
|
|||||
|
Регистрация: Aug 2012
Сообщений: 7
|
А как передать параметр loaderInfo из класса Main в класс Load?
|
|
|||||
|
Во втором классе конструктор надо переделать так:
public function Load(loader:Loader) { loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressF); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeF); // событие наступает когда загрузка окончена } п.с. эта архитектура кривая. Тут в идеале нужно вообще всё переделать. |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 7
|
Цитата:
мне просто нужно передать параметр loaderInfo из Main в Load как это сделать? можно его как то там объявить к примеру в переменной а потом передать его в другой класс? package net { import flash.display.LoaderInfo; import flash.display.MovieClip; import flash.events.*; public class Main extends MovieClip { private var _load:Load; public function Main() { trace(this); _load = new Load(new Loader); } } } package net { import flash.display.MovieClip; import flash.events.*; import flash.display.LoaderInfo; dynamic public class Load extends MovieClip { private var loads; private var total; private var inf; public function Load(loader:Loader) {// теперь тут ошибка loader.addEventListener(ProgressEvent.PROGRESS, progressF); loader.addEventListener(Event.COMPLETE, completeF); // событие наступает когда загрузка окончена } public function progressF(e:ProgressEvent){ //событие наступает в процессе загруски содержимого loads=Math.round(e.bytesLoaded/1024); //функция вызываемая в процессе загрузки total=Math.round(e.bytesTotal/1024); inf=Math.round(loads/total*100); Object(this).t1_txt.text=inf; Object(this).k_mc.width=inf*3; } public function completeF(e:Event){ //функция вызывается после окончания загрузки gotoAndStop(2); } } } 1046: Тип не найден или не является константой времени компиляции: Loader. |
|
|||||
|
__________________
http://artem-lobachenkov.ru/ |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 7
|
ошибка всё та же(( И класса Loader() не существует зачем его заносить в скобки? zalil ru/33708020 вот исходник, перед ru точку нужно поставить в сылку ато не пропускает Последний раз редактировалось sharomet; 27.08.2012 в 13:28. |
|
|||||
|
Регистрация: Jun 2008
Адрес: Tomsk
Сообщений: 88
|
Цитата:
а это уже намек на эротику, во всех двух смыслах ![]() |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Вы чо делаете, тут же предзагрузка самой флешки нужна, а не левого Loader.
package net { import flash.display.LoaderInfo; import flash.display.MovieClip; import flash.events.*; public class Main extends MovieClip { private var _load:Load; public function Main() { trace(this); _load = new Load(loaderInfo); } } }
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 7
|
Цитата:
at net::Load/progressF() блин, без классов всё так хорошо работало связался на свою голову |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|