PDA

Просмотр полной версии : Добавление кода на динамически созданый мувик


Maraekb
14.10.2009, 16:30
Всем Доброго времени суток:)Короче суть проблемы:
Динамически создаю мувики загружаю в них картинки но не могу понять как прописать as чтобы по нажатию на каждый мувик происходило опредённое действие.
Есть XML index_img.xml
<?xml version="1.0" encoding="UTF-8"?>
<index_img>
<img>
<filename>index_img/1.png</filename>
<small>index_img/1a.png</small>
</img>
<img>
<filename>index_img/2.png</filename>
<small>index_img/2a.png</small>
</img>
<img>
<filename>index_img/3.png</filename>
<small>index_img/3a.png</small>
</img>
<img>
<filename>index_img/4.png</filename>
<small>index_img/4a.png</small>
</img>
<img>
<filename>index_img/5.png</filename>
<small>index_img/5a.png</small>
</img>
</index_img>

Вот as :
var priXml:XML = new XML;
priXml.load("xml/index_img.xml");
priXml.ignoreWhite = true;
priXml.onLoad = function(success:Boolean)
{
if (success)
{
var topNode = priXml.firstChild;
var total = topNode.childNodes.length;
var __reg2 = 0;
var n:Number = 0
for(__reg2 = 0; __reg2< total;++__reg2,n += 94)
{
var small = topNode.childNodes[__reg2].childNodes[1].firstChild.nodeValue;
_root.attachMovie("Pr","Pr"+__reg2,_root.getNextHighestDepth(),{_x:n, _y:0} )
_root["Pr"+__reg2].loadMovie(small)
}
}
}

И вот они добовляются но я не могу добавить к каждому мувику onRelease чтоб после нажатия вызывалось какое либо действие:(
Всю голову сломал...:wacko:
Подскажите плиз

Wlspartak
14.10.2009, 17:54
ИМХО, этот случай описан в справочнике:
Пример

Как показано в примере ниже, Вы можете использовать loadMovie()для загрузки картинки picture.jpg в мувиклип и затем, с помощью метода MovieClip.onPress() сделать из изображения кнопку. Загрузка JPEG изображения с помощью loadMovie() заменяет содержимое мувиклипа изображением, но не дает доступа к методам мувиклипа. Чтобы получить доступ к этим методам, Вы должны создать пустой мувиклип и в нем пустой контейнер. Загрузите изображение в контейнер и свяжите с мувиклипом-родителем обработчик события.
// Создаем мувиклип-родитель для контейнера
this.createEmptyMovieClip("logo_mc", this.getNextHighestDepth());
// Создаем контейнер внутри "mc_1"
// в этот мувиклип будет загружено изображение
logo_mc.createEmptyMovieClip("container_mc",0);
logo_mc.container_mc.loadMovie("http://www.macromedia.com/images/shared/product_boxes/80x92/studio_flashpro.jpg");
// повесьте этот обработчик события на мувиклип-родитель, mc_1
logo_mc.onPress = function() {
trace("Работает!");
};

dimarik
14.10.2009, 18:21
loadMovie is obsolete. Use MovieClipLoader class instead.

...заменяет содержимое мувиклипа изображением, но не дает доступа к методам мувиклипа.
Забавная формулировка.

Maraekb
19.10.2009, 16:56
Спасибо... Зделал через MovieClipLoader class