flashdocs.net: все о macromedia flash 5, mx, 2004 pro, 8. Обучение: flash статьи flash уроки flash исходники flash софт, faq, а также flash мульты и flash игры
Здраствуйте, только начал изучать Флэш, помогите мне с AS, с маленькой такой проблемкой
Создал новый документ
Создал мувик (простой шарик), назвал «mov»… его индификатор назвал «id_mov»
Далее создаю кнопку(обычный прямоугольник), instance name «test_b»
Далее создаю динамический текст – обзываю var «test_x»
Теперь в главном окне, щелкаю по первому кадру и пишу:
test_b.onPress = function() {
Field = new Array();
for (i=1; i<10; i++) {
Field[i] = attachMovie("id_mov", "mov"+i, i*10);
Field[i]._x = (i*50);
Field[i]._y = (150);
}
};
Далее в библиотеке захожу в мувик «mov», конвертирую шарик еще раз в мувик, и в получившемся мувике пишу:
On(press){
_root.test_t = this;
}
При запуске, нажимаю на кнопку, и получаю 9 шариков… при нажатии на каждый шарик, в тексте «test_t» выводится: уровень/имя/инстанция…
Теперь собственно проблема, я хочу что бы в текстовое поле выводилась координата x/y выбранного мувика относительно документа. Все чего я смог максимум добиться это получить координаты х/y в самом мувике…
Проблема № 1:
Я захотел перенести код из мувика «mov» в первый кадр главного окна (ибо текста много), а в самом мувике оставить только вызов функции
Там написал так:
Function perenos() {
_root.test_t = perem[1]; // Неработает
}
а в мувике так:
on(press) {
perem = new Array();
perem[1] = this;
trace (perem[1]); // Проверяю, записался ли массив – Работает
_root.perenos();
}
Проблема в том, что я никак не могу вытащить из массива (в мувике массив есть, а на поверхности нету).
Проблема №2
По какой-то причине, картинки/мувики/кнопки оказываются под созданными программно шариками… Как сделать над ними?
Ответ на №1. Не очень разбирался в твоем тексте, но вроде проблема в том что код выполняется, начиная с кода на главной временной шкале, а потом по принципу более глубокой вложенности. Т.е. у тебя получается что ты сначала обращаешься к массиву, а потом уже создаешь.
Ответ на №2. То что ты рисуешь вручную находится на отрицательной глубине, т.е. если ты вызовишь для нарисованного вручную клипа метод getDepth(), то оно будет отрицательным. А программно созданные скорее всего ты помещаешь на положительную глубину. Решение для клипа нарисованного вручную примени метод клипов clip.swapDepths(Х), где Х - глубина, если она будет больше той на которую ты программно положил клип то этот клип будет отображаться выше. На одну глубину можно ложить только один клип иначе произойдет замен одного другим.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах