Просмотр полной версии : attachMovie не работает внутри onLoad
Ситуация: есть внешний XML и естественно функция onLoad, внутри данной функции не срабатывает метод attachMovie, если attachMovie вынести за пределы функции onLoad - всё работает. Та часть, которая относится к функции onLoad ошибок кажется не имеет поскольку работает корректно.
Код:
var news:XML = new XML();
System.useCodepage = true;
news.ignoreWhite = true;
news.load("topic3.xml");
news.onLoad = function(success) {
this.attachMovie("poi", "usluga12" , 1);
}
Спасибо за ответ
Ошибка в области видимости в методе onLoad, this ссылается не на текущий мувиклип, а на экземпляр класса XML - news.
можно попробывать так ( работает в 7, 8 и 9ом флэше)
import mx.utils.Delegate
System.useCodepage = true;
news.ignoreWhite = true;
news.load("topic3.xml");
news.onLoad = Delegate.create(this,loaded);
function loaded(success:Boolean):Void {
this.attachMovie("poi", "usluga12" , 1);
}
Попробовал то, что вы, Nirth, написали - не работает(Flash MX Prof. 2004)
Честно говоря, не понял смысл строчек, буду благодарен если Вы объясните смысл след. сторочек :
1) import mx.utils.Delegate
2) news.onLoad = Delegate.create(this,loaded);
или выдадите готовое работающее решение
Спасибо
var news:XML = new XML ();
System.useCodepage = true;
news.ignoreWhite = true;
news.load ("topic3.xml");
news.mc = this;
news.onLoad = function (success) {
mc.attachMovie ("poi", "usluga12", 1);
};
Вобще советуется не использовать System.useCodepage = true, а работать с данными в кодировке utf-8
а что значит свойство mc("news.mc")? просто аутпут выдаёт ошибку "There is no property with the name 'mc'"
а что значит свойство mc("news.mc")? просто аутпут выдаёт ошибку "There is no property with the name 'mc'"
Вот они минусы типизации :) Так решалась проблема во времена 6-го плеера.
news = new XML ();
System.useCodepage = true;
news.ignoreWhite = true;
news.load ("topic3.xml");
news.mc = this;
news.onLoad = function (success) {
mc.attachMovie ("poi", "usluga12", 1);
};
можно тогда так
news = new XML ();
System.useCodepage = true;
news.ignoreWhite = true;
news.load ("topic3.xml");
var selfRef:MovieClip = this;
news.onLoad = function (success) {
selfRef.attachMovie ("poi", "usluga12", 1);
};
Попробовал то, что вы, Nirth, написали - не работает(Flash MX Prof. 2004)
Честно говоря, не понял смысл строчек, буду благодарен если Вы объясните смысл след. сторочек :
1) import mx.utils.Delegate
2) news.onLoad = Delegate.create(this,loaded);
забыл упомянуть чтоверсия должна быть 7.2 и нужно экспортировать мувик либо под Flash Player 6 ActionScript 2.0 либо под 7 с ActionScript 2.0.
в первой строчке мы импортируем класс mx.utils.Delegate
во второй создаем делегат ( про делегат можно в википедии или гугле почитать)
Большое спасибо, последнее предложение Nirth работает, вот только проблемка тогда возникает с компонентом Scrollpane: SP не хочет нормально "прокручивать" ВЕСЬ тот мувик В КОТОРЫЙ мы аттачим мувик "poi"
т.е. в SP не появляются полосы прокрутки, хотя должны,т.к. размер мувика который аттачится намного больше чем размер SP
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.