![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|
|
|||||
|
Регистрация: May 2004
Адрес: Днепропетровск
Сообщений: 36
|
Люди помогите разобраться в том что я написал(некоторые участки писал не я - мне помогли),
но смысл такой я загружаю в клипы контейнеры Jpeg-и(клип контейнер находится в родительском клипе-кнопке(MovieClip как кнопка)) Так как Jpeg большого размера я хочу сделать для них прелоадер. Но почему-то все это не работает функция Load_clips сразу выдает $jpeg_loaded == true и соответствующая функция открывает(_visible = true) "пустышки". Кстати, если есть идея как засандалить клипы-кнопки в отдельные _layerN - весь во внимании ![]() //
//Функция проверяет загружены ли картинки,
//а после загрузки открывает их и задает величину изображения
function load_clips() {
interval = setInterval(this, 100);
$b_total = _level0.getBytesTotal();
$b_loaded = _level0.getBytesLoaded();
$cent = Math.round($b_loaded*100/$b_total);
if ($cent == 100) {
_global.$jpeg_loaded = true;
clearInterval(interval);
} else {
_global.$jpeg_loaded = false;
}
}
//
//Функция устанавливает стандартные размеры картинок,
//а после загрузки открывает их и задает величину изображения
function set_clip_params($path_to_loader,$jpeg_loaded, $clip_selected, $img_width, $img_height) {
interval = setInterval(this,1000,$path_to_load_screen,$jpeg_loaded,$clip_selected,$img_width,$img_height);
if ($jpeg_loaded == true) {
clearInterval(interval);
$path_to_loader.removeMovieClip();
for ($i=0; $i<$clip_selected.length; $i++) {
_level0["clip"+$i]._visible = true;
_level0["clip"+$i].clip_jpeg._width = $img_width;
_level0["clip"+$i].clip_jpeg._height = $img_height;
_level0["clip"+$i].onRollOver = function() {
this.clip_jpeg._alpha = 30;
};
_level0["clip"+$i].onRollOut = function() {
this.clip_jpeg._alpha = 100;
this.clip_txt.gotoAndPlay("just created");
};
_level0["clip"+$i].onPress = function() {
nam = numbFromString(this._name);
getURL($xml_array[$clip_selected[nam]]["url"]);
};
function numbFromString(string) {
var result = "";
for (var i = 0; i<=string.length; i++) {
if (Number(string.charAt(i)).toString() != "NaN") {
result += string.charAt(i);
}
}
return Number(result);
}
}
}
}
|
|
|||||
|
Регистрация: Jan 2004
Адрес: нигде - не осталось на Земле свободных земель(
Сообщений: 1,176
|
как минимум setInterval() в теле функции не сработает, у тебя ещё ф-ция не определена, а ты уже на таймер поставить пытаешься:
interval = setInterval(this , 100); надо уже после определения ф-ции: interval = setInterval(load_clips , 100); |
|
|||||
|
Регистрация: May 2004
Адрес: Днепропетровск
Сообщений: 36
|
Я понял.
А как выйти из такого положения, мне просто до зарезу нужно сделать предзагрузчик клипов, может покатит вариант function some_func() { setInterval(this.func_inside,500, $loaded); function func_inside(){ if( loaded = true) {trace("OK");} else trace("shit"); } } Но никак не получается сделать прелоадер для тех клипов, которые подгружаются с помощью loadMovie |
|
|||||
|
Регистрация: Jan 2004
Адрес: нигде - не осталось на Земле свободных земель(
Сообщений: 1,176
|
Цитата:
чтобы нормально процесс загрузки внешних клипов отслеживать надо пользовать класс MovieClipLoader. я тут пример накидал - вроде моментокончания загрузки отслеживается, но когда пытаюсь загруженным клипам ширину или высоту поменять, они исчезают (остальные параметры вроде видимости и координат меняются нормально). В данный момент некогда с этой засадой разбираться - глянь сам, ок? Ну или пусть кто-нить другой глянет чего я там ступил. исходник прилагается зы. да, кстати там с таким же успехом можно жпеги грузить вместо swf-ок. Последний раз редактировалось FreeLander; 22.08.2004 в 20:40. |
![]() |
Часовой пояс GMT +4, время: 09:46. |
|
|
« Предыдущая тема | Следующая тема » |
|
|