![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2012
Сообщений: 205
|
Вот именно, что я ни в зуб ногой не могу понять, что к чему и как вообще=(
|
|
|||||
|
Чтобы подгрузить из библиотеки элемент, нужно лишь создать его экземпляр при помощи new. Чтобы потом к нему обратиться, мы присваиваем ссылку на него переменной.
var item:NewMovie = new NewMovie(); То же самое делаем и в массиве. Если сделать первое, что прийдет в голову, рассчитывая, что кнопок и мувиков не прибавится, создать два массива, поперечных. Один будет содержать ссылки на кнопки, а второй на мувики, и они должны идти в нужном порядке. var btns:Array = new Array(new Btn1, ... , new Btn7); var mcs:Array = new Array(new MC1, ... , new MC7); for(var i:int = 0; i<btns.length;i++) { if(i>0) { btns[i].x = btns[i-1].x + btns[i-1].width + 5; } else { btns[i].x = 5; } addChild(btns[i]); btns[i].addEventListener(MouseEvent.CLICK, loadMC); } function loadMC(e:MouseEvent):void { var currentNumber:int; for(var i:int; i<bttns.length; i++) { if(e.target == btns[i]) currentNumber = i; } addChild(mcs[currentNumber]); } Да, эта семерка в самом деле задает длину для массива, но по моему, это бессмысленно, ничего не меняет. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 205
|
нет, кнопки у меня в красивом порядке на сцене уже расположеныи поименованы в свойствах и подгружать их уже не надо. к ним надо обращаться.. хотя бы так банально, как перейти на 1-2-й кадр.
|
|
|||||
|
Регистрация: Feb 2012
Сообщений: 205
|
кнопки вообще в массив добавлять не надо. к ним надо как-то обратиться .
ниже в комментариях проблемы, которые я не могу решить for (p=1; p<=7; p++){ arr[p]=0; if (p==page){ var pg = new page_1();//здесь мне нужно реализовать подгрузку не только page_1, //но и других элементов. ['page_'+p] или как-то так, //но не знаю, как это оформляется на AS 3.0 addChild(pg); pg.y=264.5; pg.x=-150; bt1.gotoAndStop(2);//не работает абсолютно. здесь нужно перейти на второй кадр мувиклипа bt1, расположенного на сцене arr[p]=1; } } |
|
|||||
var pg = new page_1();//здесь мне нужно реализовать подгрузку не только page_1, но и других элементов. ['page_'+p] или как-то так, но не знаю, как это оформляется на AS 3.0 Имя загружаемого обьекта нигде не видел, чтобы можно было написать при помощи String/Number/int... Добавлено через 4 минуты На вашем месте я обьявил бы массив в первом кадре и обращался бы к нему, а не к библиотеке. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 205
|
ок, поняла.
stop(); var arr:Array= new Array; var p:Number; var pg:Array = new Array(0,new page_1/*, new page_2 , new page_3, new page_4, new page_5,new page_6,new page_7*/); var bt:Array = new Array(0,bt1,bt2, bt3, bt4, bt5, bt6, bt7); for (p=1; p<=7; p++){ arr[p]=0; if (p==page){ addChild(pg[p]); pg[p].y=264.5; pg[p].x=-150; bt[p].gotoAndStop(2);//сработало!!!! arr[p]=1; } } for(var i:int = 1; i<bt.length;i++) { addChild(bt[i]); bt[i].addEventListener(MouseEvent.CLICK, loadMC);//мувики остаются неактивными, то есть не являютсялистнерами function loadMC(e:MouseEvent):void { var currentNumber:int; for(var i:int; i<bt.length; i++) { if(e.target == bt[i]) currentNumber = i; } addChild(pg[currentNumber]); } } Последний раз редактировалось Маруська; 31.10.2013 в 23:06. |
|
|||||
|
Могу только догадываться, что вы внутри символа хотите обратиться к свойствам/методам главной линии времени.
Для этого используется (root as MovieClip). Но я обычно внутри каждого символа, где есть код, в самом начале обьявляю переменную var mainTimeline:MovieClip = (root as MovieClip); |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
__________________
Отряд Котовскага |
|
|||||
|
Котяра, это где подобному учат-то?))
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:24. |
|
|
« Предыдущая тема | Следующая тема » |
|
|