|
|
|||||
Регистрация: Nov 2010
Сообщений: 5
|
Слайд шоу и кнопка
Доброго времени суток уважаемые.
Нашел в интернет пример реализации слайд шоу: import mx.transitions.Tween; import mx.transitions.easing.*; var myShowXML = new XML(); var format:TextFormat = new TextFormat(); myShowXML.ignoreWhite = true; myShowXML.load("slideshow.xml"); myShowXML.onLoad = function() { _root.myWidth = myShowXML.firstChild.attributes.width; _root.myHeight = myShowXML.firstChild.attributes.height; _root.mySpeed = myShowXML.firstChild.attributes.speed; _root.myImages = myShowXML.firstChild.childNodes; _root.myImagesNo = myImages.length; createContainer(); callImages(); }; function createContainer() { _root.createEmptyMovieClip("myContainer_mc",1); myContainer_mc.lineStyle(5,0x9A7C53,100); myContainer_mc.lineTo(_root.myWidth,0); myContainer_mc.lineTo(_root.myWidth,_root.myHeight); myContainer_mc.lineTo(0,_root.myHeight); myContainer_mc.lineTo(0,0); myContainer_mc. myContainer_mc._x = 0; myContainer_mc._y = (Stage.height-myContainer_mc._height)/2; } function callImages() { _root.myMCL = new MovieClipLoader(); _root.myPreloader = new Object(); _root.myMCL.addListener(_root.myPreloader); _root.myClips_array = []; _root.myPreloader.onLoadStart = function(target) { _root.createTextField("myText_txt",_root.getNextHighestDepth(),0,0,100,20); _root.myText_txt._x = (Stage.width-_root.myText_txt._width)/2; _root.myText_txt._y = (Stage.height-_root.myText_txt._height)/2; _root.myText_txt.autoSize = "center"; format.font = "Romul"; format.color = 0xFFFFFF; format.size = 32; _root.myText_txt.setNewTextFormat(format); //_root.myText_txt.text = "Добро пожаловать!"; }; _root.myPreloader.onLoadProgress = function(target) { _root.myText_txt._x = (Stage.width-_root.myText_txt._width)/2; _root.myText_txt._y = (Stage.height-_root.myText_txt._height)/2; _root.myText_txt.autoSize = "center"; format.font = "Romul"; format.color = 0xFFFFFF; format.size = 32; _root.myText_txt.setNewTextFormat(format); _root.myText_txt.text = "Загрузка..."; }; _root.myPreloader.onLoadComplete = function(target) { _root.myClips_array.push(target); target._alpha = 0; if (_root.myClips_array.length == _root.myImagesNo) { _root.myText_txt._y = myContainer_mc._y + myContainer_mc._height; _root.target_mc = -1; moveSlide(); myShowInt = setInterval(moveSlide, (_root.mySpeed*1000)+1000); } }; for (i=0; i<_root.myImagesNo; i++) { temp_url = _root.myImages[i].attributes.url; temp_mc = myContainer_mc.createEmptyMovieClip(i, myContainer_mc.getNextHighestDepth()); _root.myMCL.loadClip(temp_url,temp_mc); } } function moveWate() {current_mc1 = _root.myClips_array[_root.target_mc];} function moveSlide() { current_mc = _root.myClips_array[_root.target_mc]; new Tween(current_mc, "_alpha", Strong.easeOut, 100, 0, 1, true); _root.target_mc++; if (_root.target_mc>=_root.myImagesNo) { _root.target_mc = 1; } _root.myText_txt.text = _root.myImages[target_mc].attributes.title; next_mc = _root.myClips_array[_root.target_mc]; new Tween(next_mc, "_alpha", Strong.easeOut, 0, 100, 1, true); } С уважением Lamer6666 Добавлено через 24 часа 43 минуты Народ, прошу помощи |
|
|||||
Регистрация: Apr 2010
Адрес: Москва Кузминки
Сообщений: 109
|
Вам нужно содать два контейнера на разных глубинах. В одном будет кнопка, а в другом ваша галерея. А вообще, пример не самый лучший. Использование _root, и присваивание ему переменных - это не очень хорошая практика, так как ваш _root может оказаться чем-то другим, например если одна флешка заргужается в другую.
|
|
|||||
Регистрация: Nov 2010
Сообщений: 5
|
Я новичок, поэтому спасибо за рекомендации и ответ, сейчас буду разбираться.
Добавлено через 40 минут А можно хотя бы ссылочку на пример или сам пример! |
|
|||||
Регистрация: Nov 2010
Сообщений: 5
|
Народ, ну поможте пожалуйста.
Для кнопки написал функции анимации function ZoomIn() { this.onEnterFrame=function() {if (this._xscale<120) {this._xscale+=2;this._yscale+=2;}}} function ZoomOut() { this.onEnterFrame=function() { if (this._xscale>100) { this._xscale-=2; this._yscale-=2; } } } b1.onRollOver=ZoomIn; b1.onRollOut=ZoomOut; b1.onRelease=function(){getURL("http://www...");}; b1.swapDepths(b1._parent.getNextHighestDepth()); import mx.transitions.Tween; import mx.transitions.easing.*; var myShowXML = new XML(); var format:TextFormat = new TextFormat(); myShowXML.ignoreWhite = true; myShowXML.load("slideshow.xml"); Что куда дописать то? Последний раз редактировалось lamer6666; 07.12.2010 в 18:07. |
|
|||||
b1 - это именно КНОПКА или КЛИП?
С кнопками swapDepths - не работает. Вставьте кнопку внутрь клипа. |
|
|||||
Регистрация: Nov 2010
Сообщений: 5
|
b1 в Properties у меня установлен как MovieClip. При двойном щелчке попадаю в Tween1 и там стоит картинка моей кнопки.
|
|
|||||
Если b1 лежит на _root, или там к примеру на _level0, то у ней НЕТ parent и соотв вызов
b1._parent.getNextHighestDepth() - не будет работать, и глубина не изменится. |
|
|||||
Регистрация: Nov 2010
Сообщений: 5
|
Хм, а как узнать где она лежит.
Я делал так: 1. В библиотеку добавил объект BitMap, 2. Кинул его на рабочую область 3. Зашел в Properties там назначил имя и установил что это MovieClip |
|
|||||
В целом - визуально, вы не поверите
Как-то мне словами это не передать. У вас же среда WYSIWYG вообще-то. |
Часовой пояс GMT +4, время: 14:46. |
|
« Предыдущая тема | Следующая тема » |
|
|