Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   проблемма с определением размера подгружаемого клипа. (http://www.flasher.ru/forum/showthread.php?t=96509)

Alexsas 31.05.2007 17:47

проблемма с определением размера подгружаемого клипа.
 
Погружаю фотки с прелоадером вот таким методом..

Код:

var container:MovieClip = clip.createEmptyMovieClip("image_mc", 1);
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
mcLoader.loadClip(Name,container);
function onLoadProgress(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
        pBar2.setProgress(bytesLoaded,bytesTotal);
}
trace(clip.image_mc._width);

вопрос: почему trace выдает 0 ?

CrazyFlasher 31.05.2007 17:55

потому что надо вызывать trace лучше всего в onLoadComplete. Когда мувик загрузится

etc 31.05.2007 17:57

Потому что фотография ещё не успела загрузиться.

this.create 01.06.2007 00:23

Цитата:

Сообщение от CrazyFlasher
потому что надо вызывать trace лучше всего в onLoadComplete. Когда мувик загрузится

onLoadInit

PHPwarrior 01.06.2007 16:58

У меня похожая проблема. Использую onLoadInit при загрузке клипа. Клип загружаестся и размер его менше чем он есть на самом деле и кроме того меньше цем пишет в trace(). Я размер не меняю.

Пример. Висота рисунка 442рх. На самом деле в флешке размер 397рх. Если делать trace() при onPress или после загрузки то дает размер 442рх.

Рисую линию возле клипа висоты 442рх. Она больше рисунка. Я думал что это процентная зависимость. Но это не так. Разные рисунки - разные проценты.

CrazyFlasher 01.06.2007 17:12

this.create: ну можно и onLoadInit. Однако я предпочитаю работать с полностью загруженным объектом.

CrazyFlasher 01.06.2007 17:12

PHPwarrior: пришли исходник

this.create 01.06.2007 17:27

Цитата:

Сообщение от CrazyFlasher
this.create: ну можно и onLoadInit. Однако я предпочитаю работать с полностью загруженным объектом.

Почему?

Ведьмак 01.06.2007 17:29

Вот недавно сам такое делал:

num - используется для определения depth
picNameColor - имя создаваемого мувика

Код:

function Load_Image(picNameColor) {
        var container:MovieClip = scene.createEmptyMovieClip(picNameColor, Number(num));
        var mclListener:Object = new Object();
        mclListene.onLoadInit = function(mc:MovieClip) {
                trace (mc._width);
        };
        var mcLoader:MovieClipLoader = new MovieClipLoader();
        mcLoader.addListener(mclListener);
        var image:MovieClip = container.createEmptyMovieClip("imageColor", container.getNextHighestDepth());
        mcLoader.loadClip("color"+num+".gif", imageColor);
}

сначала создается один мувик (container), потом в него вставляется еще один (image), и только потом в него грузится colorXXX.gif...

Если грузить сразу в Container корректно работать не хотело...

CrazyFlasher 01.06.2007 17:30

ну onLoadInit это когда клип начинает грузится...а кто его знает? может он размеры не в первую очередь загрузит? и тогда опять получит trace 0

Ведьмак 01.06.2007 17:31

у меня все работает с onLoadInit

this.create 01.06.2007 17:36

Цитата:

Invoked when the actions on the first frame of the loaded clip have been executed. When this listener has been invoked, you can set properties, use methods, and otherwise interact with the loaded movie.
Мне интересно это различие. Интересно на примере увидеть как может повлиять "неполность" загружаемого фильма на взаимодействие с ним.
По конкретному вопросу, судя по описанию из справки флэш, на момент появления события onLoadInit я смело могу запрашивать любые свойства любого объекта в загружаемом фильме.


Часовой пояс GMT +4, время: 23:24.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.