![]() |
прелоадер рисует линию (прогр) надо длиннее.
Есть прелоадер
stop(); var tot = _root.getBytesTotal(); var dif=0; a=12.5; this.onEnterFrame = function () { loaded = _root.getBytesLoaded(); percent = (loaded / tot) * 100; if (a <= percent) { a = a + 12.5; this.createEmptyMovieClip("line" + a, _root.a); cnt=0; dif=Math.floor(percent); } with (_root.line + a) { lineStyle(1, 0xffffff, 100); moveTo(0, _root.a); cnt=Math.floor(percent)-dif; lineTo(cnt, _root.a); } if (percent >= 100) { _root.line.removeMovieClip(); delete this.onEnterFrame; gotoAndStop (2); } }; т.е. он рисует линии по 12 пикселов, а надо чтоб по 400, НО просто умножать не катит, потому что тогда прорисовка получается рывками, а нада плавно. |
for flash mx
Код:
MovieClip.prototype._apply = function ($obj) |
Re: прелоадер рисует линию (прогр) надо длиннее.
Вложений: 1
Цитата:
Сделай так - stop(); var tot = _root.getBytesTotal(); var dif = 0; a = 12.5; this.onEnterFrame = function() { loaded = _root.getBytesLoaded(); percent = (loaded/tot)*100; if (a<=percent) { a = a+12.5; this.createEmptyMovieClip("line"+a, _root.a); cnt = 0; dif = percent;// Ап } with (_root.line+a) { lineStyle(1, 0xffffff, 100); moveTo(0, _root.a); cnt = (percent-dif)*400/12.5;// Ап lineTo(cnt, _root.a); } if (percent>=100) { _root.line.removeMovieClip(); delete this.onEnterFrame; gotoAndStop(2); } }; Это, так сказать, грубая переделка - линии будут отрисовываться не срого по 400 пикселей из за неравномерности загрузки. Чтоб это поправить вешаем маску шириной 400 пикселей, а рисуем чуть длиннее - 430 пикс. cnt = (percent-dif)*430/12.5;// Ап После stop() маска - _root.createEmptyMovieClip("maska", 99); with (maska) { beginFill(0xff0000, 100); moveTo(0, 0); lineTo(0, 400); lineTo(400, 400); lineTo(400, 0); lineTo(0, 0); } _root.setMask(maska); Получится то что ты хотел, но на мой взгляд дурдомный прелоад - у fiot_а намного симпатичней ЗЫ. И ремовишь ты мимо кассы, надо - with (this.line+a) { clear(); } for (i=12.5; i<=100; i=i+12.5) { _root["line"+i].removeMovieClip(); } Короче, гляди исходник... |
Забыл маску отремовить
_root.maska.removeMovieClip(); //куда вставлять, думаю объяснять не надо... |
| Часовой пояс GMT +4, время: 10:37. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.