Например, вы создаёте конструктор карт и вам нужно реализовать "рисование" символами. Сделать это просто.
Шаг I.
- Нарисуйте символ, который нужно дублировать;
- Сделайте из него мувиклип(MovieClip, т.е. выделите нарисованный объект и нажмите F8);
- В панели свойств(Properties) в поле <имя экземпляра>(<instance name>) напишите testMovie_mc;
- Переместите клип за пределы рабочей области;
- Готово!
Шаг II.
- Выделите кадр на временной шкале;
- Откройте панель действий(Actions, F9);
- Впишите следующий сценарий:
Код
var i:Number = 0;
onEnterFrame = function ()
{
if (Key.isDown(1))
{
copySymbol();
}
};
function copySymbol()
{
i++;
testMovie_mc.duplicateMovieClip("testMovie_mc" + i,i);
_root["testMovie_mc" + i]._x = _xmouse;
_root["testMovie_mc" + i]._y = _ymouse;
}
Разберём код.
Первая строчка - переменная i равна нулю.
Далее идёт обработчик событий onEnterFrame.
В обработчике условие - если нажата ЛКМ(левая кнопка мыши) - копируем символ(т.е. вызываем функцию copySymbol())
Далее создаём функцию copySymbol(). В ней собственно мы и копируем символ.
В функции выше мы прибавляем к переменной i один.
После этого дублируем символ. Даём ему новое имя("testMovie_mc" + i) и глубину(i).
Наконец, мы меняем координаты нового, только что продублированного символа на текущие координаты мыши.
Вопрос: Зачем я запихал всё в отдельную функцию?
Например, у вас, не дай Селестия, возникли какие-то неполадки в коде и вам нужно отследить, выполняется ли функция copySymbol().
Вы пишите:
Код
if (copySymbol)
{
trace ("функция выполняется");
}
else
{
trace("функция не выполняется");
}
Если функция выполняется, в панели вывода высветится "функция выполняется", если же нет, то "функция не выполняется" и искать ошибку станет куда легче.
Скачать исходник(если что-то не получилось): ЯДиск