![]() |
|
||||||||||
|
|||||
|
[+1 03.01.12]
[++1 03.01.12] Регистрация: Dec 2011
Сообщений: 29
|
Доброго дня суток !
Помогите плиз застрял на вот этой теме с Добавлением БГ Я только начал изучать АС3 поэтому не знаю еще всех классов и методов подскажите плиз как решить и улутшить сее творение import flash.display.MovieClip; import flashx.textLayout.formats.BlockProgression; import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; import flash.display.Loader; import flash.events.MouseEvent; var xml:XML = new XML(); var xmlList:XMLList = new XMLList();// загрузка в переменный хмл файла и var xmlLoader:URLLoader = new URLLoader(new URLRequest("myXML.xml")); var numItems:Number; var radiusX:Number =200; var radiusY:Number =75;// центер окружности и радиус элипса var centerX:Number= 450/2; var centerY:Number= 250/2; var home:MovieClip = this;// сылка на главную шкалу времени var speed:Number = 0.03;// скрость поварота угла xmlLoader.addEventListener(Event.COMPLETE, henlenLoadr); //функция загрузки файла хмл и обработки его function henlenLoadr(e:Event):void { xml = XML (e.target.data); xmlList = xml.children(); numItems = xmlList.length(); for (var i:int =0; i<numItems; i++)// Добовление обьектов в муви клип { var temp:MovieClip = new block; temp.angel = i*(Math.PI*2/numItems);// расчет элипса для создание 3д эфекта temp.x = centerX + radiusX * Math.cos(temp.angel); temp.y = centerY + radiusY * Math.sin(temp.angel); temp.urlLinck = xmlList[i].attribute("link") var imgLoader:Loader = new Loader();// присвоение imgLoader урла с хмл файла imgLoader.load(new URLRequest(xmlList[i].attribute("url"))); temp.addChild(imgLoader);//засовываем файл в мувиклип addChild(temp);// добовляем на сцену temp.addEventListener(Event.ENTER_FRAME, anim);// слушатель для анимации temp.addEventListener(MouseEvent.CLICK, gotoURL); } } //функция для перехода по сылки в карусели function gotoURL (e:MouseEvent):void { var url:String = e.target.parent.urlLinck; var requst:URLRequest = new URLRequest(url); navigateToURL(requst, "_blank"); } //Цикл для добовления элементов на сцену /*for (var i:int = 0; i<numItems; i++) { var temp:MovieClip = new block; temp.angel = i*(Math.PI*2/numItems); temp.x = centerX + radiusX * Math.cos(temp.angel); temp.y = centerY + radiusY * Math.sin(temp.angel); addChild(temp); }*/ //функция для анимации движения обьектов function anim(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; //сортировка обьектов по виличене так чтоб была создана реалистичкая //видимость 3-D for (var i:int = 0; i<numItems-1; i++) { // меняет местами обьекты в зависимости от велечины scaleX if (home.getChildAt(i).scaleX > home.getChildAt(i+1).scaleX) { home.swapChildrenAt(i,i+1); } } e.target.angel +=speed; } home.addEventListener(Event.ENTER_FRAME, ch_speed); //функция для прошета поворота карусели в зависимости от положения мыши function ch_speed (e:Event):void { // чем больще коефициэнт тем медленей движется карусель (3500) speed = (home.mouseX-centerX)/3500; } |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Значит надо распределить по разным контейнерам, фон в один нижний, все остальное в верхний
|
|
|||||
|
[+1 03.01.12]
[++1 03.01.12] Регистрация: Dec 2011
Сообщений: 29
|
решил проблему с бг но теперь новая проблема с сортировкой последняя картинка никак не хочет выравниваться периодически оказывается в верну а не в низу ((
Последний раз редактировалось lovik; 04.12.2011 в 02:14. |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Цитата:
что-то типа: var i:int = container.numChildren; var children:Array = []; while (i--) { var child:DisplayObject = container.getChildAt(i); children.push(child); //добавляем всех детей контейнера в массив } children.sortOn("y"); // сортируем его по свойству y i = children.length; while (i--) { // и располагаем детишек в соответствии с их индексом в получившемся массиве ) var childIndex:int = container.getChildIndex(children[i]); if (childIndex != i) { var currentChild:DisplayObject = container.getChildAt(childIndex); container.setChildIndex(children[i], i); } Последний раз редактировалось goodguy; 04.12.2011 в 10:38. |
|
|||||
|
[+1 03.01.12]
[++1 03.01.12] Регистрация: Dec 2011
Сообщений: 29
|
не импорт происходит автоматически для вот этих строк
|
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
причем тут импорт?
|
|
|||||
|
[+1 03.01.12]
[++1 03.01.12] Регистрация: Dec 2011
Сообщений: 29
|
к вот этой строке
Добавлено через 13 минут вопрос а не целесообразней сделать отдельный свф файл с подгруской карусели в него с фоном и прелодером для банера ? Добавлено через 4 часа 23 минуты Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 00:38. |
|
|
« Предыдущая тема | Следующая тема » |
|
|