![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Mar 2009
Сообщений: 19
|
Гружу данные из xml и по ним строю график. Пытаюсь сделать "появление" используя альфа канал. Проблема в том, что строиться только последний столбец, остальные почему-то игнорируются.
Подскажите плз в чем проблема my_xml = new XML(); my_xml.ignoreWhite = true; my_xml.onLoad = function(ok) { if (ok) { len = my_xml.childNodes[0].childNodes.length; F_createAlphaGraphic(); } }; my_xml.load("data1.xml"); F_createAlphaGraphic = function(){ for (var i = 0; i<len; i++) { _root.createEmptyMovieClip("gr"+i, i); var gr = _root["gr"+i]; gr._alpha=0; gr._x = i*20+35; var col = my_xml.childNodes[0].childNodes[i].attributes.value; var Y:Number=360; gr.onAlpha = function(){ if(gr._alpha<50){ gr.beginFill(0xBB62E1, gr._alpha/2); gr.lineStyle(2, 0xBB62E1, gr._alpha+50); gr.moveTo(gr._x, Y-col/4); gr.lineTo(gr._x, Y); gr.lineTo(gr._x+30, Y); gr.lineTo(gr._x+30, Y-col/4); gr.endFill(); gr._alpha+=0.5; } } setInterval(gr.onAlpha,100); } }; |
|
|||||
|
Регистрация: May 2006
Адрес: Нск
Сообщений: 91
|
1. если вы делаете "появление" с использованием альфы, то зачем тогда каждый раз перерисовывать графику? я имею ввиду что beginFill стоит внутри таймера.
2. переменная gr у вас меняется при пробеге цикла, последним ее значением будет _root["gr"+(len-1)] - по таймеру вы меняете прозрачность у переменной gr, соответственно только у последнего мувика ссылку на который мы ей присвоили. вот так примерно: var Y:Number=360; gr.beginFill(0xBB62E1, gr._alpha/2); gr.lineStyle(2, 0xBB62E1, gr._alpha+50); gr.moveTo(gr._x, Y-col/4); gr.lineTo(gr._x, Y); gr.lineTo(gr._x+30, Y); gr.lineTo(gr._x+30, Y-col/4); gr.endFill(); gr.onAlpha = function(){ if(this._alpha<50){ this._alpha+=11; } } setInterval(gr, "onAlpha", 100); ![]() 3. не забывайте сохранить свои таймеры чтобы потом их подчищать когда они больше не нужны: gr.onAlpha = function(){ if(this._alpha<50){ this._alpha+=11; } else { clearInterval(this.timer); } } gr.timer = setInterval(gr, "onAlpha", 100); 5. я бы советовал отказаться от использования вложенных функций. |
|
|||||
|
Регистрация: Mar 2009
Сообщений: 19
|
Мега спасибо!!))
|
![]() |
![]() |
Часовой пояс GMT +4, время: 15:11. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|