Как создавать свои Flash-игры, подобные Angry Birds и World of Goo?
Box2D - это библиотека, которая моделирует физическое поведение твердых тел в двумерном пространстве. Программисты могут использовать ее в своих играх, чтобы сделать...
Настройка окружения
1. Создайте новый документ размером 400x250 и черным фоном.
2. В левом верхнем углу создайте четыре (4) динамических текстовых поля размером 90x20. Напишите некоторый текст в них, например, "Хайям", "Есенин", "Ахматова" и "Пушкин".
3. Конвертируйте каждое текстовое поле в муви клип (назовите его по своему желанию, точка регистрации не имеет значения). Дайте им инстанс имена "xmButton", "ecButton", "amButton" и "pnButton".
4. Создайте новый слой ниже первого слоя. Нарисуйте прямоугольник размером 700x500.
5. Конвертируйте прямоугольник в муви клип. Установите точку регистрации в левом верхнем углу. Назовите его по своему желанию.
6. Поместите мувик в левый верхний угол сцены. Дайте ему инстанс имя "mainPage". Этот мувик mainPage будет содержать весь текст, видимый в мувике.
7. Дважды кликните по мувику mainPage. Внутри муви клипа создайте четыре текстовых поля в соответствии с картинкой ниже. Напечатайте какой-нибудь текст в полях...
Идем в Actionscript 3.0
8. Создайте новый слой для actionscript на главной временной шкале. Напишите следующее.
//Нам нужно это для твина import fl.transitions.easing.*; import fl.transitions.*; //Этот твин будет использоваться, чтобы двигать mainPage var myTween:Tween; //Мы не хотим, чтобы текстовые боксы внутри мувиков улавливали события кликов xmButton.mouseChildren = false; ecButton.mouseChildren = false; amlButton.mouseChildren = false; pnButton.mouseChildren = false; //Делаем так, чтобы мувики выглядели как кнопки (чтобы появлялся курсор с ручкой) xmButton.buttonMode = true; ecButton.buttonMode = true; amButton.buttonMode = true; pnButton.buttonMode = true; //Присвоим обработчик клика для каждой кнопки xmButton.addEventListener (MouseEvent.CLICK, clicked); ecButton.addEventListener (MouseEvent.CLICK, clicked); amButton.addEventListener (MouseEvent.CLICK, clicked); pnButton.addEventListener (MouseEvent.CLICK, clicked); //Эта функция вызывается, когда кликают по одной из кнопок function clicked (e:Event):void { //Сохраняем нажатую кнопку в локальную переменную var buttonclickied:MovieClip = (MovieClip)(e.target); /* Следующие твины все длятся одну секунду. Мы стартуем каждый твин с последней позиции mainPage. */ //Твин в левый верхний угол , если кликнули по кнопке home button if (buttonclickied == xmButton) { myTween = new Tween(mainPage, "y", Back.easeIn, mainPage.y, 0, 1, true); myTween = new Tween(mainPage, "x", Back.easeIn, mainPage.x, 0, 1, true); } //Твин к тексту about else if (buttonclickied == ecButton) { myTween = new Tween(mainPage, "y", Back.easeIn, mainPage.y, 0, 1, true); myTween = new Tween(mainPage, "x", Back.easeIn, mainPage.x, -300, 1, true); } //Твин к тексту work else if (buttonclickied == amButton) { myTween = new Tween(mainPage, "y", Back.easeIn, mainPage.y, -250, 1, true); myTween = new Tween(mainPage, "x", Back.easeIn, mainPage.x, 0, 1, true); } //Твин к тексту Пушкинl else { myTween = new Tween(mainPage, "y", Back.easeIn, mainPage.y, -250, 1, true); myTween = new Tween(mainPage, "x", Back.easeIn, mainPage.x, -300, 1, true); }
Это все, протестируйте ваш мувик!
Комментарии
А чего сам рабочий мувик не выложили?
Очень интересная и полезная информация! Молодцы ребята!
Спасибо!
А где можно ссылки оставить на свои шредевры, по вашим урокам?
Спасибо! smile
А где можно ссылки оставить на свои шредевры, по вашим урокам?
Справа есть ссылка "добавить новость"
1) Админ всегда прав
2) Если админ не прав, смотри пункт 1
Мы в контакте -
#5 Опубликовано 22 марта, 2009 - 22:59 пользователем waydim
#6 Опубликовано 23 марта, 2009 - 01:28 пользователем Fly
Цитата: waydim
красЯво!:) понравилось, жаль что AS3, пока на втором то не сильно разобрался, а при это м браться за "новые высоты" не сильно то целесообразно, по-моему:)
возможно ли сделать тоже самое средствами AS2?
если да, то буду КРАЙНЕ признателен
красЯво!:) понравилось, жаль что AS3, пока на втором то не сильно разобрался, а при это м браться за "новые высоты" не сильно то целесообразно, по-моему:)
возможно ли сделать тоже самое средствами AS2?
если да, то буду КРАЙНЕ признателен
За новые высоты как раз и есть смысл браться, так как технологии никогда не стоят на месте и всё время развиваются :) Вспомните про AS1, он ведь тоже когда то был новинкой :)
1) Админ всегда прав
2) Если админ не прав, смотри пункт 1
Мы в контакте -
#7 Опубликовано 5 апреля, 2009 - 00:59 пользователем balabol888
#8 Опубликовано 13 августа, 2009 - 15:38 пользователем Lemonadnый_Jo
#9 Опубликовано 8 сентября, 2009 - 01:02 пользователем lkuznecl
#10 Опубликовано 24 октября, 2009 - 11:45 пользователем Niki4
Вот бы такого побольше появлялось. А то в офисе заняться нечем, замучались уже в потолок плевать.
Однако в код закралась пара ошибок.
Первая здесь:
...
//Мы не хотим, чтобы текстовые боксы внутри мувиков улавливали события кликов
xmButton.mouseChildren = false;
ecButton.mouseChildren = false;
amlButton.mouseChildren = false; - Лишняя буква l
pnButton.mouseChildren = false;
...
Вторая - в самом конце не хватает ещё одной фигурной скобки. Должно бытьтак:
...
}
}
огромнейшая просьба ко всем кто выкладывает свои шедевры, вставляйте пожалуйста в описание новости сам пример, а то если честно иногда непонятно что именно показывает автор, а из заголовка да и порой описания не всё понятно
з.ы. огромное спасибо за ваши работы и отдельное спасибо проекту easyflash
А если вместо мувиков xmButton и др вставить кнопку, то что нужно переписать в AS3?