|
|
|||||
xml gallery
Всем, привет!
Помогите, пожалуйста, подправить код. Функция mover в самом низу, по идее, должна делить иконки на строки и столбцы. Кто сможет, гляньте исходничек. Архив получился 600 Кб поэтому залил сюда: http://***********/13888206 Добавлено через 48 минут а вот, собственно, весь код, который используется: var home:MovieClip = this; var tooltip:MovieClip = this.attachMovie("tooltip", "tooltip", 10000); tooltip._alpha = 0; moviepath._alpha = 0; var xml:XML = new XML(); xml.ignoreWhite = true; xml.onLoad = function() { var nodes = this.firstChild.childNodes; numOfItems = nodes.length; for ( 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.path = nodes[i].attributes.portfolioitems; t.icon.inner.loadMovie(nodes[i].attributes.image); t.ref.inner.loadMovie(nodes[i].attributes.image); t.icon.onRollOver = over; t.icon.onRollOut = out; t.icon.onPress = presss; path2 = t.path; } } 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 presss() { var page:MovieClip = attachMovie("moviepath","moviepath",10000000); loadMovie(this._parent.path, page.itemloader); } function moveTip() { home.tooltip._x = this._parent._x; home.tooltip._y = this._parent._y - this._parent._height/2; } xml.load("icons.xml"); function mover() { for(j=0;j<4;j++){ for(i=0;i<5;i++){ this._x=32 + i*150; this._y=35 + j*140; n++; } } this.swapDepths(Math.round(this._xscale)+100); } |
|
|||||
Регистрация: Sep 2009
Адрес: this.x,this.y;
Сообщений: 153
|
Много всего написано, половина лишнего.
Зачем, например, в условиях цикла свойство length присваивать какой-то переменной с длиннющим именем? Я бы подумал, что ты крутой флешер, но тогда такая простая задача не должна бы вызывать проблем... А раз это не так, то на время отбрось использовать ключ слово this, поскольку это тонкий, хотя и очень удобный инструмент, а создай массив и присвой ему свои иконки, тогда индексы твоего масива в циклах должны будут выглядеть так - j*4+i Добавлено через 18 часов 2 минуты ошибся, индекс j*5+i |
|
|||||
my_xml = new XML(); my_xml.ignoreWhite = true; my_xml.onLoad = function(ok) { if (ok) { len = this.childNodes[0].childNodes.length; //play(); //trace(len) lodFoto(); } }; _root.my_xml.load("icons.xml"); lodFoto=function() { tr=0 s=4 k=Math.floor(len/4); for(i=0; i<k; i++){ for (j=0; j<s; j++){ this.attachMovie("mc", ["mc"+i+j], this.getNextHighestDepth(), {_x:(j*200)+10, _y:(i*200)+10}); tr=tr+1 this["mc"+i+j].mc.icon.loadMovie(_root.my_xml.childNodes[0].childNodes[tr].attributes.image); this["mc"+i+j].mc.ref.loadMovie(_root.my_xml.childNodes[0].childNodes[tr].attributes.image); this["mc"+i+j].trg=tr _root["mc"+i+j].onRelease = function () { //trace(_root.my_xml.childNodes[0].childNodes[trg].attributes.portfolioitems) df=[this.trg] trace(_root.my_xml.childNodes[0].childNodes[df].attributes.portfolioitems) //_root.createEmptyMovieClip("container", this.getNextHighestDepth(), {_x:0, _y:0}); _root.attachMovie("trge", "mc_lood", _root.getNextHighestDepth(), {_x:0, _y:0}); _root.attachMovie("back", "back", _root.getNextHighestDepth()+1, {_x:500, _y:350}); _root.back.onRelease = function () { unloadMovie(mc_lood); removeMovieClip(_root.back); removeMovieClip(_root.mc_lood); } _root.mc_lood.loadMovie(_root.my_xml.childNodes[0].childNodes[df].attributes.portfolioitems); } Минус скрипта, в том, что он колличество строк округляет.( |
Часовой пояс GMT +4, время: 09:56. |
|
« Предыдущая тема | Следующая тема » |
Теги |
gallery , xml , галерея , загрузка |
|
|