![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2009
Адрес: Московская область
Сообщений: 13
|
Пожалуйста:
import mx.utils.Delegate; var numOfItems:Number; var radiusX:Number = 400; var radiusY:Number = 100; var centerX:Number = Stage.width/2; var centerY:Number = Stage.height/2; var speed:Number = 0.05; var perspective:Number = 130; var home:MovieClip = this; var tooltip:MovieClip = this.attachMovie("tooltip", "tooltip", 10000); tooltip._alpha = 0; var xml:XML = new XML(); xml.ignoreWhite = true; xml.onLoad = function() { var nodes = this.firstChild.childNodes; numOfItems = nodes.length; for (var i = 0; i<numOfItems; i++) { var t = home.attachMovie("item", "item"+i, i+1); t.angle = i*((Math.PI*2)/numOfItems); t.onEnterFrame = mover; t.toolText = nodes[i].attributes.tooltip; t.icon.inner.loadMovie(nodes[i].attributes.image); t.r.inner.loadMovie(nodes[i].attributes.image); t.icon.onRollOver = over; t.icon.onRollOut = out; t.icon.link = nodes[i].attributes.link; t.icon.onRelease = function() { getURL(this.link, "_self"); }; } }; function over() { home.tooltip.tipText.text = this._parent.toolText; home.tooltip._x = this._parent._x; home.tooltip._y = this._parent._y-this._parent._height/2; home.tooltip.onEnterFrame = Delegate.create(this, moveTip); home.tooltip._alpha = 100; } function out() { delete home.tooltip.onEnterFrame; home.tooltip._alpha = 0; } function moveTip() { home.tooltip._x = this._parent._x; home.tooltip._y = this._parent._y-this._parent._height/2; } xml.load("icons.xml"); function mover() { this._x = Math.cos(this.angle)*radiusX+centerX; this._y = Math.sin(this.angle)*radiusY+centerY; var s = (this._y-perspective)/(centerY+radiusY-perspective); this._xscale = this._yscale=s*100; this.angle += this._parent.speed; this.swapDepths(Math.round(this._xscale)+100); } this.onMouseMove = function() { speed = (this._xmouse-centerX)/2500; }; Цитата:
|
|
|||||
|
Регистрация: Oct 2009
Сообщений: 8
|
Спасибо!!
Только это не AS3 а AS2 как я понял. Как бы там нибыло, у меня этот код все равно не заработал. ![]() ![]() А так надо.. Именно AS2.. Ошибок нет, просто пустой экран. Видимо через xml не цепляются картинки.Копирую содержимое xml, меняю img на путь (указывал как полный путь, так и просто название файла если в корне лежит), называю файл icons.xml Копирую в cs4 код, ничего не меняю, ставлю player 8, 10 AS2 , нажимаю просмотр - пусто. Может кто-нибудь подскажет как тут сделать без xml, просто добавить картинок и крутить в этой карусели? Последний раз редактировалось almasvas; 30.10.2009 в 18:45. |
|
|||||
|
Регистрация: Aug 2009
Адрес: Московская область
Сообщений: 13
|
Цитата:
Можно исходный файл Ваш? |
|
|||||
|
Регистрация: Apr 2009
Сообщений: 6
|
Нужно создать 2 симбола, Назвать их tooltip, item и в свойствах дать export for action script.
И в приведенном примере есть ошибки, связанные с глубиной отображения мувиков (задние накладываются на передние) Последний раз редактировалось Flashko; 01.11.2009 в 21:32. |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 8
|
Flashko Спасибо! Закрутилась карусель, и с наложением вроде все нормально пока. Но крутятся у меня только символы, пустые, в них не загружаются картинки..
XML Цитата:
import mx.utils.Delegate; var numOfItems:Number; var radiusX:Number = 200; var radiusY:Number = 50; var centerX:Number = Stage.width/2; var centerY:Number = Stage.height/2; var speed:Number = 0.05; var perspective:Number = 130; var home:MovieClip = this; var tooltip:MovieClip = this.attachMovie("tooltip", "tooltip", 10000); tooltip._alpha = 0; var xml:XML = new XML(); xml.ignoreWhite = true; xml.onLoad = function() { var nodes = this.firstChild.childNodes; numOfItems = nodes.length; for (var i = 0; i<numOfItems; i++) { var t = home.attachMovie("item", "item"+i, i+1); t.angle = i*((Math.PI*2)/numOfItems); t.onEnterFrame = mover; t.toolText = nodes[i].attributes.tooltip; t.icon.inner.loadMovie(nodes[i].attributes.image); t.r.inner.loadMovie(nodes[i].attributes.image); t.icon.onRollOver = over; t.icon.onRollOut = out; t.icon.onRelease = released; } }; function over() { home.tooltip.tipText.text = this._parent.toolText; home.tooltip._x = this._parent._x; home.tooltip._y = this._parent._y-this._parent._height/2; home.tooltip.onEnterFrame = Delegate.create(this, moveTip); home.tooltip._alpha = 100; } function out() { delete home.tooltip.onEnterFrame; home.tooltip._alpha = 0; } function moveTip() { home.tooltip._x = this._parent._x; home.tooltip._y = this._parent._y-this._parent._height/2; } xml.load("icons.xml"); function mover() { this._x = Math.cos(this.angle)*radiusX+centerX; this._y = Math.sin(this.angle)*radiusY+centerY; var s = (this._y-perspective)/(centerY+radiusY-perspective); this._xscale = this._yscale=s*100; this.angle += this._parent.speed; this.swapDepths(Math.round(this._xscale)+100); } this.onMouseMove = function() { speed = (this._xmouse-centerX)/2500; }; Подскажите, почему не загружаются картинки! Пробовал в xml прописывать и полный путь к картинке, и jpg и png и нет результата. Карусель есть, картинок в ней нет. Последний раз редактировалось almasvas; 03.11.2009 в 11:26. |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 1
|
Я на одном сайте видела видео урок, как 3д меню делать, не знаю подойдет Вам, но там тоже как карусель вращаются кнопки с картинками.
сайт http://user26rus164.narod.ru |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 8
|
Narmishka Спасибо! Меню красивое, сегодня скачаю урок, посмотрю, смогу ли его переделать под задумку.
Но все же!! У меня есть такая же карусель рабочая на AS3, там вообще другие методы используются, но там хотя бы все понятно, а тут не понятно, вот именно в этой функции, думаю в ней все дело: xml.onLoad = function() { var nodes = this.firstChild.childNodes; numOfItems = nodes.length; for (var i = 0; i<numOfItems; i++) { var t = home.attachMovie("item", "item"+i, i+1); t.angle = i*((Math.PI*2)/numOfItems); t.onEnterFrame = mover; t.toolText = nodes[i].attributes.tooltip; t.icon.inner.loadMovie(nodes[i].attributes.image); t.r.inner.loadMovie(nodes[i].attributes.image); t.icon.onRollOver = over; t.icon.onRollOut = out; t.icon.onRelease = released; } }; |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 8
|
Спасибо всем!! Разобрался!! Убрал все icon и inner и сделал в символе item еще один контейнер, r например, и получилось t.r.loadMovie("img1.jpg");
Последний раз редактировалось almasvas; 12.11.2009 в 13:05. |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|