mj_nooker
11.08.2009, 04:31
Привет!
В actionscript 2.0 внедрялся сам, без наставников, по докам и видео-урокам, поэтому некоторые моменты неясны )
на одном лейере лежит невидимый мувик с координатами (krug) и мувик-"полотно" с картинками (vah). В мувике vah создаются пустые мувики, в которых создаётся ещё один пустой мувик, в который нужно подгрузить картинку и повесить листенер для клика на картинке:
var kartinka_mc_ldr:MovieClipLoader = new MovieClipLoader();
var kartListener:Object = new Object();
kartListener.onRelease = function() {
trace("pressed!"); //на первых порах листенер должен хотя-бы сказать о нажатии на картинку
};
for (var numkart_y = 1; numkart_y<=15; numkart_y++) { //15 рядов
for (var numkart_x = 1; numkart_x<=15; numkart_x++) { //по 15 картинок
numkart=numkart_x+next_ryad; //Для индексации клипов от 1 до 225
kart_obj = "kart"+numkart+"_mc"; //клею текстовое имя мувика для удобства использования дальше
setProperty(kart_obj, _x, kart_mc_coord_x+500*shahm); //смещаю каждый мувик для картинки в "следующие координаты")
setProperty(kart_obj, _y, kart_mc_coord_y);
this.createEmptyMovieClip(kart_obj, this.getNextHighestDepth()); //создаю мувик в vah
kart_obj.createEmptyMovieClip("kartinka",this.getNextHighestDepth()); //создаю в нём ещё один мувик. ПО ВСЕЙ ВИДИМОСТИ - ТУТ СОБАКА, ИБО В ДЕБАГГЕРЕ НЕ ПОКАЗЫВАЕТ СОЗДАННЫХ ВЛОЖЕННЫХ МУВИКОВ.
setProperty(kartinka, _x, kart_mc_coord_x+500*shahm);
setProperty(kartinka, _y, kart_mc_coord_y);
if (numkart_tlimit > 5) {numkart_tlimit = 1;}; //не обращать внимания, временные вспомогательные переменные
kartinka_mc_ldr.loadClip("E:/party/kart/"+numkart_tlimit+".jpg", kartina); //загружаю во вложенный мувик картинку
kartinka.addListener(kartListener); //вешаю на картинку листнер
kart_mc_coord_x += KART_PRIROST_X;//увеличиваею для позиционирования по горизонтали следующей картины+20рх = 1020рх
} //numkart_x
kart_mc_coord_y += KART_PRIROST_Y;
next_ryad += 15;
kart_mc_coord_x=start_coord_x; //сбрасываю счётчик координат Х до начального значения и таким образом перехожу на начало следующей строки для размещения следующего ряда мувиков
if (shahm == 0) {shahm = 1;} //если предыдущий ряд был выставлен без отступа, то следующий ряд будет с отступом
else {shahm = 0;}
}
далее, при клике на любую картинку на полотне, она должна смещать координаты полотна до координат krug (проще - выезжать кликнутую картинку на центр ). алгоритм выезда я ещё не разрабатывал, зациклился на создании мувика.
а теперь, собсно, вопрос: пожалуйста, подскажите, что я делаю не так, ибо вложенные мувики kartinka не создаются. в дальнейшем, при работающем коде должен создаваться
ещё один (некликабельный) мувик с рамкой (дублироваться мувик с рамкой из библиотеки).
прошерстил ветку форума, но подходящих топиков не нашёл (
5й день сижу, логика уже сварилась, помогите, плз )
В actionscript 2.0 внедрялся сам, без наставников, по докам и видео-урокам, поэтому некоторые моменты неясны )
на одном лейере лежит невидимый мувик с координатами (krug) и мувик-"полотно" с картинками (vah). В мувике vah создаются пустые мувики, в которых создаётся ещё один пустой мувик, в который нужно подгрузить картинку и повесить листенер для клика на картинке:
var kartinka_mc_ldr:MovieClipLoader = new MovieClipLoader();
var kartListener:Object = new Object();
kartListener.onRelease = function() {
trace("pressed!"); //на первых порах листенер должен хотя-бы сказать о нажатии на картинку
};
for (var numkart_y = 1; numkart_y<=15; numkart_y++) { //15 рядов
for (var numkart_x = 1; numkart_x<=15; numkart_x++) { //по 15 картинок
numkart=numkart_x+next_ryad; //Для индексации клипов от 1 до 225
kart_obj = "kart"+numkart+"_mc"; //клею текстовое имя мувика для удобства использования дальше
setProperty(kart_obj, _x, kart_mc_coord_x+500*shahm); //смещаю каждый мувик для картинки в "следующие координаты")
setProperty(kart_obj, _y, kart_mc_coord_y);
this.createEmptyMovieClip(kart_obj, this.getNextHighestDepth()); //создаю мувик в vah
kart_obj.createEmptyMovieClip("kartinka",this.getNextHighestDepth()); //создаю в нём ещё один мувик. ПО ВСЕЙ ВИДИМОСТИ - ТУТ СОБАКА, ИБО В ДЕБАГГЕРЕ НЕ ПОКАЗЫВАЕТ СОЗДАННЫХ ВЛОЖЕННЫХ МУВИКОВ.
setProperty(kartinka, _x, kart_mc_coord_x+500*shahm);
setProperty(kartinka, _y, kart_mc_coord_y);
if (numkart_tlimit > 5) {numkart_tlimit = 1;}; //не обращать внимания, временные вспомогательные переменные
kartinka_mc_ldr.loadClip("E:/party/kart/"+numkart_tlimit+".jpg", kartina); //загружаю во вложенный мувик картинку
kartinka.addListener(kartListener); //вешаю на картинку листнер
kart_mc_coord_x += KART_PRIROST_X;//увеличиваею для позиционирования по горизонтали следующей картины+20рх = 1020рх
} //numkart_x
kart_mc_coord_y += KART_PRIROST_Y;
next_ryad += 15;
kart_mc_coord_x=start_coord_x; //сбрасываю счётчик координат Х до начального значения и таким образом перехожу на начало следующей строки для размещения следующего ряда мувиков
if (shahm == 0) {shahm = 1;} //если предыдущий ряд был выставлен без отступа, то следующий ряд будет с отступом
else {shahm = 0;}
}
далее, при клике на любую картинку на полотне, она должна смещать координаты полотна до координат krug (проще - выезжать кликнутую картинку на центр ). алгоритм выезда я ещё не разрабатывал, зациклился на создании мувика.
а теперь, собсно, вопрос: пожалуйста, подскажите, что я делаю не так, ибо вложенные мувики kartinka не создаются. в дальнейшем, при работающем коде должен создаваться
ещё один (некликабельный) мувик с рамкой (дублироваться мувик с рамкой из библиотеки).
прошерстил ветку форума, но подходящих топиков не нашёл (
5й день сижу, логика уже сварилась, помогите, плз )