Создать игру, создание игр, конструктора игр, игровые движки, разработка игр, сделать игру
Приветствую Вас Гость · Вход · Регистрация  ·  Новые сообщения · Участники · Правила · Поиск · RSS
Страница 1 из 11
Форум разработчиков игр » Полезные статьи, Примеры и Исходники » Adobe Flash » Дублирование клипов на Adobe Flash
Дублирование клипов на Adobe Flash
Rainbow_Sparkle Дата: Среда, 18.09.2013, 08:59 | Сообщение # 1
Просмотр профиля: Rainbow_Sparkle

Сообщений: [390]
Например, вы создаёте конструктор карт и вам нужно реализовать "рисование" символами. Сделать это просто.

Шаг 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("функция не выполняется");
}
Если функция выполняется, в панели вывода высветится "функция выполняется", если же нет, то "функция не выполняется" и искать ошибку станет куда легче.

Скачать исходник(если что-то не получилось): ЯДиск
Форум разработчиков игр » Полезные статьи, Примеры и Исходники » Adobe Flash » Дублирование клипов на Adobe Flash
Страница 1 из 11
Поиск:

При полном или частичном копировании материалов сайта ссылка на Make-Games.ru обязательна. Make-Games.ru © 2008 - 2016 Хостинг от uWeb
Топ Разработка игр Рейтинг@Mail.ru