-Приложения

  • Перейти к приложению Открытки ОткрыткиПерерожденный каталог открыток на все случаи жизни
  • Перейти к приложению Дешевые авиабилеты Дешевые авиабилетыВыгодные цены, удобный поиск, без комиссии, 24 часа. Бронируй сейчас – плати потом!
  • Перейти к приложению Всегда под рукой Всегда под рукойаналогов нет ^_^ Позволяет вставить в профиль панель с произвольным Html-кодом. Можно разместить там банеры, счетчики и прочее
  • ТоррНАДО - торрент-трекер для блоговТоррНАДО - торрент-трекер для блогов
  • Перейти к приложению Я - фотограф Я - фотографПлагин для публикации фотографий в дневнике пользователя. Минимальные системные требования: Internet Explorer 6, Fire Fox 1.5, Opera 9.5, Safari 3.1.1 со включенным JavaScript. Возможно это будет рабо

 -Всегда под рукой

 RenderedImage (2).png

 RenderedImage (1).png

          RenderedImage.png      

 -Рубрики

 -Цитатник

Как подключить и настроить VPN на телефоне с Android - (0)

Как подключить и настроить VPN на телефоне с Android В наше время безопасность в интернете — один...

Цветочный узор спицами! - (0)

Цветочный узор спицами! Раппорт 10 петель и 20 рядов Количество петель кратно 10 +1 +...

Черно - белый пуловер - (0)

Черно - белый пуловер Размеры: 38 - 40 Вам потребуется: полиамидная пряжа(100 ...

Как связать плотную резинку, которая не сползает и не растягивается. - (0)

Как связать плотную резинку, которая не сползает и не растягивается. Свяжите полую резинку, черед...

Ажурный женский джемпер, связанный спицами: утонченность и комфорт в вашем гардеробе - (0)

Ажурный женский джемпер, связанный спицами: утонченность и комфорт в вашем гардеробе Ажурный ...

 -Поиск по дневнику

Поиск сообщений в LoRaLaRa

 -Подписка по e-mail

 

 -Интересы

 -Сообщества

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 11.10.2009
Записей: 47567
Комментариев: 16254
Написано: 69107


Создание 3D карусели Это урок для Adobe Flash cs6.

Среда, 28 Мая 2014 г. 17:59 + в цитатник
Цитата сообщения ВАТ

Создание 3D карусели (мои пояснения к уроку).
 


Источники уроков Здесь и Здесь.

Многим понравилась карусель (флеш меню). Меня попросили рассказать как я делала этот урок. Уроков никогда не писала, это первый. Огромное спасибо Леночке jzayka за помощь!




1. Создайте новый документ 550х400

1 - 1 (699x503, 71Kb)



2. Нарисуйте прямоугольник с закругленными краями. Размером - 158х35, белая обводка, цвет заливка можно взять любой, для этого нажмите на палитру цветов. Так как белая обводка на белом фоне не видна, меняю цвет рабочего стола, нажимая на белый прямоугольник, где написано Монт. стол "Задать цвет фона".

2-2 (669x486, 54Kb)
3 (198x122, 17Kb)

Выставляем параметры прямоугольника

4 - 3 (266x344, 46Kb)

Из скрина видно, что обводку взяла 5 пикселей, угол закругления 10, можно их поменять и поставить свои. Нажимаем на самую верхнюю стрелочку в инструментах и выделяем прямоугольную фигуру. Пока она у нас выделена делаем следующий пункт.

3. Конвертируйте прямоугольник в MovieCLip, нажав на F8 (или нажать правой клавишей мышки на прямоугольник, откроется окно и там нажать на "преобразовать в символ") и назовите его “Menu Item”. Точка регистрации в центре.

5-2 (630x600, 71Kb)
появится вот такое окно

6-1 (700x525, 80Kb)

нажимаем ОК

4. Заходим во внутрь символа, нажав 2 раза левой кнопкой мыши на мувик

Внутри этого Символа создайте динамический текст. Сделайте его по размеру прямоугольника и напишите что-нибудь.

7 - 2 (700x506, 64Kb)

8 (198x122, 20Kb)

5. Дайте текстовому полю instance = “menuItemText“-без кавычек.

10 -1 (382x470, 61Kb)

Внедрите текст. Поставьте галочки во всех чекбоксах, чтобы имена могли быть на русском и англ. языках (если поставить по уроку русский текст не будет виден)

11 - 1 (672x394, 42Kb)

7. Теперь вернитесь на главную сцену ( для того, чтобы вернуться на главную сцену нажмите на монтажный стол), и удалите символ со сцены.

12 - 1 (700x500, 62Kb)

14 (692x504, 59Kb)
8. Нажимаем F9 и вставляем в окно код:


//Общее количество пунктов меню
const NUMBER_OF_ITEMS:uint = 16;

//Этот массив будет содержать все пункты меню
var menuItems:Array = new Array();
var menuText:Array=new Array();
var menuUrl:Array=new Array();
menuText=["Preriy "," jzayka "," Sabine Astana "," ВАТ ","Навруб ","просто Вера"," Лариса_Гурьянова","novprospekt","Иванновна","MariYnina","Ольга_Клименко","Татьяна","ЕгороваТатьяна","SvetlanaT","Mademoiselle Viv","Мила-Милена"];
menuUrl=[" http://www.liveinternet.ru/users/preriy/profile/"," http://www.liveinternet.ru/users/jzayka/profile/"," http://www.liveinternet.ru/users/3111237/profile/"," http://www.liveinternet.ru/users/5093970/profile "," http://www.liveinternet.ru/users/4747147/profile/"," http://www.liveinternet.ru/users/5022732/profile/"," http://www.liveinternet.ru/users/3354683/profile/"," http://www.liveinternet.ru/users/novprospekt/profile/"," http://www.liveinternet.ru/users/4955107/profile/"," http://www.liveinternet.ru/users/mariynina/profile/"," http://www.liveinternet.ru/users/mariflash/profile/"," http://www.liveinternet.ru/users/4958866/profile/"," http://www.egorovatatiana.ru/profile?upd"," http://www.liveinternet.ru/users/svetlanat/profile"," http://www.liveinternet.ru/users/lady_de/profile/"," http://www.liveinternet.ru/users/4394467/profile/"];
//Установим focal length
var focalLength:Number = 350;

//Установим точку исчезновения
var vanishingPointX:Number = stage.stageWidth / 2;
var vanishingPointY:Number = stage.stageHeight / 2;

//Мы вычисляем угловую скорость аngleSpeed в слушателе ENTER_FRAME
var angleSpeed:Number = 0;

//Радиус круга
var radius:Number = 128;

//Вычисляем угол - разницу между пунктами меню (в радианах)
var angleDifference:Number = Math.PI * (360 / NUMBER_OF_ITEMS) / 180;
// setBG();
//Этот цикл создает и располагает элементы карусели
for (var i:uint = 0; i < NUMBER_OF_ITEMS; i++) {

//Создаем новый пункт меню
var menuItem:MenuItem = new MenuItem();

//Вычисляем начальный угол для пункта меню
var startingAngle:Number = angleDifference * i;

menuItem.name=String(i);
//Устанавливаем атрибут "currentAngle" - текущий угол для пункта меню

menuItem.currentAngle = startingAngle;

//Положение пункта меню
menuItem.xpos3D = - radius * Math.cos(menuItem.currentAngle) * 0.5;
menuItem.ypos3D = radius * Math.sin(startingAngle);
menuItem.zpos3D = radius * Math.cos(startingAngle);

//Вычисляем коэффициент масштабирования для пункта меню (чем дальше элемент -> тем меньше коэффициент масштабирования)
var scaleRatio = focalLength/(focalLength + menuItem.zpos3D);

//Масштаб пункта меню в соответствии с коэффициентом
menuItem.scaleX = menuItem.scaleY = scaleRatio;

//Положение пункта меню на сцене (из 3D в 2D координаты)
menuItem.x = vanishingPointX + menuItem.xpos3D * scaleRatio;
menuItem.y = vanishingPointY + menuItem.ypos3D * scaleRatio;

//Присваиваем начальную альфу
menuItem.alpha = 0.3;

//Добавляем текст в пункт меню
menuItem.menuItemText.text = menuText[i];

//Мы не хотим, чтобы текстовое поле отлавливало мышиные события
menuItem.mouseChildren = false;

//Присваиваем MOUSE_OVER, MOUSE_OUT и CLICK слушатели для пункта меню
menuItem.addEventListener(MouseEvent.MOUSE_OVER, mouseOverItem);
menuItem.addEventListener(MouseEvent.MOUSE_OUT, mouseOutItem);
menuItem.addEventListener(MouseEvent.CLICK, itemClicked);

//Добавляем пункт меню в массив пунктов меню
menuItems.push(menuItem);

//Добавляем пункт меню на сцену
addChild(menuItem);
}

//Добавим ENTER_FRAME слушатель для анимации
addEventListener(Event.ENTER_FRAME, moveCarousel);

//Эта функция вызывается в каждом фрейме
function moveCarousel(e:Event):void {

//Вычисляем угловую скорость в соответствии с положением mouseY
angleSpeed = (mouseY - stage.stageHeight / 2) * 0.0002;

//Цикл по пунктам меню
for (var i:uint = 0; i < NUMBER_OF_ITEMS; i++) {

//Запомним пункт меню в локальную переменную
var menuItem:MenuItem = (MenuItem)(menuItems[i]);

//Изменяем текущий угол элемента
menuItem.currentAngle += angleSpeed;

//Вычисляем коэффициент масштабирования
var scaleRatio = focalLength/(focalLength + menuItem.zpos3D);

//Масштаб элемента в соответствии с коэффициентом
menuItem.scaleX=menuItem.scaleY=scaleRatio;

//Установим новые 3D координаты
menuItem.xpos3D=- radius*Math.cos(menuItem.currentAngle)*0.5;
menuItem.ypos3D=radius*Math.sin(menuItem.currentAngle);
menuItem.zpos3D=radius*Math.cos(menuItem.currentAngle);

//Изменяем координаты элемента.
menuItem.x=vanishingPointX+menuItem.xpos3D*scaleRatio;
menuItem.y=vanishingPointY+menuItem.ypos3D*scaleRatio;
}

//Вызываем функцию, которая упорядочивает элементы так, что они перекрывают друг друга корректно
sortZ();
}

//Эта функция сортирует элементы так , что они перекрывают друг друга корректно
function sortZ():void {

//Упорядочиваем массив так, что элемент, который имеет самое высокое
//z положение (= самый дальний) является первым в массиве
menuItems.sortOn("zpos3D", Array.NUMERIC | Array.DESCENDING);

//Установим новые дочерние индексы для изображений
for (var i:uint = 0; i < NUMBER_OF_ITEMS; i++) {
setChildIndex(menuItems[i], i);
}
}

//Эта функция вызывается, когда мышь наводится на пункт меню
function mouseOverItem(e:Event):void {

//изменяем альфа в 1
e.target.alpha=1;
}

//Эта функция вызывается, когда мышь уходит с пункта меню
function mouseOutItem(e:Event):void {

//изменяем альфа в 0.3
e.target.alpha=0.3;
}

// Эта функция вызывается, когда пункт меню кликается
function itemClicked(e:Event):void {
var curInd:uint;
curInd=uint(e.target.name);
var request:URLRequest = new URLRequest(menuUrl[curInd]);
navigateToURL(request);
}
function setBG() {
var w:Number=stage.stageWidth;
var h:Number=stage.stageHeight;
graphics.lineStyle(0,0);
graphics.beginFill(0);
graphics.lineTo(w,0);
graphics.lineTo(w,h);
graphics.lineTo(0,h);
graphics.lineTo(0,0);
graphics.endFill();
}

Выделенное синим, красным и зелёным меняем на свои надписи и ссылки, 16 - это количество пластинок в меню, можете поменять на любое число, соответственно кол-во надписей и ссылок должно быть столько сколько пластинок.
13 (592x382, 71Kb)
Вот и всё. Что непонятно спрашивайте. Успехов!
Рубрики:  ПРОГРАММЫ/Flash-программы

Понравилось: 2 пользователям