Форум 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)
-   -   центровка подгружаемого jpg [не выходит] (http://www.flasher.ru/forum/showthread.php?t=106192)

Fox M. Lurde 06.01.2008 00:11

центровка подгружаемого jpg [не выходит]
 
Вложений: 1
Товарищи, делаю flash-презентацию. Демонстрация будет на локальной машине. Основная задача - слайд-шоу: подгружать внешние jpg через определенный интервал. Беда в том, что все jpg разные в размере, и оные надо центровать. Весь код презентации выполняется в onEnterFrame. Приведенный ниже кусок кода не работает Как это можно исправить?


Код:
Код:

//if (_level0.ss.getBytesLoaded() == _level0.ss.getBytesTotal() && _level0.ss._width != 0)
_level0.ss.onLoad()
{
//put jpg to center
trace(_level0.ss._width/2);
_level0.ss._x=512-((_level0.ss._width)/2);
_level0.ss._y=384-((_level0.ss._height)/2);

//...
}

Заранее благодарен!

(Аттачу на всякий случай файл целеком)

(Adobe Flash CS3 AS2.0)

koIIImarik 06.01.2008 00:22

Попробуйте так:
Код:

_level0.ss._x=(Stage.width-_level0.ss._width)/2;
_level0.ss._y=(Stage.height-_level0.ss._height)/2;


Fox M. Lurde 06.01.2008 00:30

Беда в том, что трассировка в следующем куске выдает 0, т.е. _width и _height определить не удается :(

Код:

_level0.createEmptyMovieClip("ss",10);
_level0.ss.loadMovie("DATA/1.jpg");

_level0.ss.onLoad()
{
//put jpg to center
trace(_level0.ss._width); //result - 0
}


olexandr 06.01.2008 00:42

картинка не успевает загрузиться, потому и 0
грузи через MovieClipLoader

Fox M. Lurde 06.01.2008 00:49

Спасибо, весьма ценное замечание. А Вы в исходник не заглядывали? Если посмотрите внимательно, у меня стоят:

_level0.ss.onLoad()
и альтернативная ему
if (_level0.ss.getBytesLoaded() == _level0.ss.getBytesTotal() && _level0.ss._width != 0)

Но ни одна из них не срабатывает. onLoadComplite тоже пробовал.

Весь код презентации у меня находится в onEnterFrame, потому я не могу написать

onEnterFrame=function(){
if (_level0.ss.getBytesLoaded() == _level0.ss.getBytesTotal() && _level0.ss._width != 0){
...
}
}

отсюда и вопрос - как решить задачу?

iNils 06.01.2008 00:55

Цитата:

Сообщение от Fox M. Lurde
Но ни одна из них не срабатывает. onLoadComplite тоже пробовал.

А надо onLoadInit

Fox M. Lurde 06.01.2008 01:07

Благодарю. Но результат по прежнему 0 в буквальном смысле :(

koIIImarik 06.01.2008 02:11

Выложите код, с onLoadInit, может вы не тот объект проверяете. Вот, на всякий случай Flash урок с исходником на тему Movie Clip Loader.

Fox M. Lurde 06.01.2008 14:27

Благодарю за урок - ознакомился еще ночью, пока спрашивал.
Код лежит в первом посте. Целиком (я имею ввиду аттач). Там, где заремировано PROBLEM собственно и менялись команды.

koIIImarik 06.01.2008 20:23

А где вы там в исходнике собственно onLoadInit используете?


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

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