Каруселька

Каруселька

Каруселька - шуточные знаки зодиака (описание для мужчин). При создании использовала уроки из журналов про карусель и про XML. При нажатии на иконку знака зодиака в середине карусельки появляется его описание. В архиве содержатся *.fla, *.swf, *.xml и картинки.

var numOfItems:Number;
 
var radiusX:Number = 180;
var radiusY:Number = 80;
 
var centerX:Number = 183;
var centerY:Number = 340;
 
var home:MovieClip = this;
 
var speed:Number = 0.03;
 
var xml:XML = new XML();
 
var xmlList:XMLList = new XMLList();
 
var xmlLoader:URLLoader = new URLLoader(new URLRequest ("карусель.xml"));
 
xmlLoader.addEventListener(Event.COMPLETE, hadleLoading);
 
function hadleLoading(e:Event):void
{
    xml = XML(e.target.data);
 
    xmlList = xml.children();
 
    numOfItems = xmlList.length();
 
    for (var i:int = 0; i<numOfItems; i++)
    {
        var temp:MovieClip = new block(); //block это объект муви клипа куда вставляются картинки.
 
        temp.angel = i*(Math.PI*2/numOfItems);
        temp.urlLink = xmlList[i].attribute("url2");
        temp.x = centerX + radiusX*Math.cos(temp.angel);
        temp.y = centerY + radiusY*Math.sin(temp.angel);
 
        var imageLoader:Loader = new Loader;
        imageLoader.load(new URLRequest(xmlList[i].attribute("url")));
 
        imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,loaded);
          function loaded(e:Event)
         {
              Bitmap(e.target.content).smoothing=true;
         }
 
        temp.addChild(imageLoader);
 
        addChild(temp);
 
        temp.addEventListener(Event.ENTER_FRAME, animate);
        temp.addEventListener(MouseEvent.CLICK, showAbout);
    }
}
 
var temp2:MovieClip = new central(); //central объект муви клипа куда помещаются описания.
temp2.x = 72;
temp2.y = 30;
addChild(temp2);
 
var imageLoader2:Loader = new Loader;
temp2.addChild(imageLoader2);
 
function showAbout(e:MouseEvent):void
{
    imageLoader2.load(new URLRequest(e.target.parent.urlLink));
}
 
function animate (e:Event):void
{
    e.target.x = centerX + radiusX*Math.cos(e.target.angel);
    e.target.y = centerY + radiusY*Math.sin(e.target.angel);
 
    e.target.scaleX = e.target.y/(centerY + centerX);
    e.target.scaleY = e.target.scaleX;
 
    for (var i:int = 0; i<(numOfItems); i++)
    {
        if ( home.getChildAt(i).scaleX > home.getChildAt(i+1).scaleX)
        {
            home.swapChildrenAt(i,i+1);
        }
    }
 
    e.target.angel += speed;
}
 
home.addEventListener(Event.ENTER_FRAME, changeSpeed);
 
function changeSpeed (e:Event):void
{
    speed = (home.mouseX-centerX)/5000;
}
Исходник: 

Похожие записи

Комментарии

Аватар пользователя HeXD

Супер!!! :P
Вот это класс!
Таких красивых уроков бы побольше! =)

Аватар пользователя redroze

спасибо)

Аватар пользователя Fly

Симпотично смотрится и, главное, сделано всё аккуратно с исходником :) Девушки чаще соблюдают правила, а мужчины чаще на них плюют из-за этого и возникают конфликты. Вывод таков: у девушек можно многому научиться. Если кто не понял - это относится к тем -  на кого я ругался и чьи работы не опубликовал.

1) Админ всегда прав
2) Если админ не прав, смотри пункт 1

Мы в контакте - http://vkontakte.ru/club9573247
Не отвечаю на вопросы в личку касаемо Flash, у нас для этого есть форум

Аватар пользователя samana

Да да, очень красиво всё сделано!! А когда понимаешь что это ещё и работа девушки, то на душе становится вообще хорошо! 

Аватар пользователя Rell

Блин, исходник cs4 не поддерживает,какой нибудь да геморой.

Аватар пользователя redroze

добавила файл с кодом.

Аватар пользователя macleopard2010

круто!

Аватар пользователя Arakki

Подскажите пожалуйста.

 

А можно данную карусельку сохранить в один swf файлик, без дополнительных библиотек?

 

Заранее благодарен!