Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Загрузка 1 swf через другой (http://www.flasher.ru/forum/showthread.php?t=182175)

Tetraeon 14.07.2012 17:11

Загрузка 1 swf через другой
 
Приветствую, попал в жуткую ситуацию... нужно определить правильно ли я загружаю новый swf файл через другой (жуткой она будит если правильно)) 3 месяца написания проги в трубу улетят)
оба swf файла находятся в 1 папке 1-й MainMenu(без класса) а другой RPG(класс Main)
в MainMenu таким образом правильно будит грузится:

Код AS3:

var request:URLRequest = new URLRequest("RPG.swf"); 
var loader:Loader = new Loader();
loader.load(request);
addChild(loader);

выдается куча ошибок, но скорее всего это по той причине из-за которой все и придется переписывать.

p.s точно не знаю в чем косяк, но думаю что нормально написанная программа даже при отсутствующих объектах(экземплярах классов) на сцене должна нормально работать.

illuzor 14.07.2012 18:23

Что за ошибки? Покажите.
Правильней будет отслеживать окончание загрузки и только после него добавлять данные в дисплейЛист.

Код AS3:

var loader:Loader = new Loader();
loader.load(new URLRequest("RPG.swf"));
 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
 
private function onLoaded(e:Event):void{
  e.target.removeEventListener(Event.COMPLETE, onLoaded);
  addChild(e.target.content);
}


Tetraeon 14.07.2012 18:40

Все равно ошибки...
Код AS3:

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
        at Hero/onLine()
TypeError: Error #1010: Термин не определен и не имеет свойств.
        at Enemy/onLine()
TypeError: Error #1010: Термин не определен и не имеет свойств.
        at Enemy/onLine()
TypeError: Error #1010: Термин не определен и не имеет свойств.
        at Enemy/onLine()
TypeError: Error #1010: Термин не определен и не имеет свойств.
        at Enemy/onLine()
TypeError: Error #1010: Термин не определен и не имеет свойств.
        at Enemy/onLine()
TypeError: Error #1010: Термин не определен и не имеет свойств.
        at Armor/buttonOn()

Я уже догадался в чем дело... в целом не удивительно, когда я начинал писать эту прогу я про классы то и не знал ничего)
Даже без добавления addChild ошибки появляются, так что это даже не в добавлении дело.. проще говоря понапихал я функций в свою программу и связал их между классами так что даже ничего добавить не получится до начала их работы

Добавлено через 15 минут
Спасибо за ответ

illuzor 14.07.2012 18:59

Это одна и та же ошибка в экземплярах одного класса. Сомневаюсь, что потребуется всё с нуля переписывать.
Используйте debug версию плеера, чтоб точно локализовать ошибки.

Tetraeon 14.07.2012 19:18

уже пробовал, после этого ряда ошибок появляется еще "цать" таких же в другом месте, а все потому что все функции завязаны на основном персонаже находящемся на сцене с самого начала разработки этой программы и теперь когда мне понадобилось добавить другого персонажа программно, а для этого нужно со сцены удалить предыдущего вылазят все эти ошибки, и кроме как переписать все эти функции на активацию после появления персонажа я не вижу выхода.

-De- 14.07.2012 20:24

Я думаю это старая ошибка про то, что у загруженной флешки нету stage, пока её не добавили на сцену.
Т.е. все, кому нужен stage должны его дёргать не ранее, чем флешке придёт Event.ADDED_TO_STAGE. Скорее всего всё вполне правится.

Tetraeon 14.07.2012 23:50

Наверно так оно и есть, и что бы понять как это сделать придется все переписать заново %) уж больно много данных, что бы что то поправить проще все заново склипать проверяя постоянно правильность того что написано.


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

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