Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.01.2008, 00:11
Fox M. Lurde вне форума Посмотреть профиль Отправить личное сообщение для Fox M. Lurde Посетить домашнюю страницу Fox M. Lurde Найти все сообщения от Fox M. Lurde
  № 1  
Ответить с цитированием
Fox M. Lurde
 
Аватар для Fox M. Lurde

Регистрация: Jun 2004
Адрес: Нижний Новгород
Сообщений: 227
Отправить сообщение для Fox M. Lurde с помощью ICQ
По умолчанию центровка подгружаемого jpg [не выходит]

Товарищи, делаю 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)
Вложения
Тип файла: rar tmp-ss.rar (8.7 Кб, 68 просмотров)
__________________
Чем больше силы, тем больше ответственности!

Старый 06.01.2008, 00:22
koIIImarik вне форума Посмотреть профиль Отправить личное сообщение для koIIImarik Посетить домашнюю страницу koIIImarik Найти все сообщения от koIIImarik
  № 2  
Ответить с цитированием
koIIImarik
 
Аватар для koIIImarik

Регистрация: Jul 2007
Адрес: Россия, Москва
Сообщений: 522
Попробуйте так:
Код:
_level0.ss._x=(Stage.width-_level0.ss._width)/2;
_level0.ss._y=(Stage.height-_level0.ss._height)/2;

Старый 06.01.2008, 00:30
Fox M. Lurde вне форума Посмотреть профиль Отправить личное сообщение для Fox M. Lurde Посетить домашнюю страницу Fox M. Lurde Найти все сообщения от Fox M. Lurde
  № 3  
Ответить с цитированием
Fox M. Lurde
 
Аватар для Fox M. Lurde

Регистрация: Jun 2004
Адрес: Нижний Новгород
Сообщений: 227
Отправить сообщение для Fox M. Lurde с помощью ICQ
Беда в том, что трассировка в следующем куске выдает 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
}
__________________
Чем больше силы, тем больше ответственности!


Последний раз редактировалось Fox M. Lurde; 06.01.2008 в 00:33.
Старый 06.01.2008, 00:42
olexandr вне форума Посмотреть профиль Отправить личное сообщение для olexandr Посетить домашнюю страницу olexandr Найти все сообщения от olexandr
  № 4  
Ответить с цитированием
olexandr
 
Аватар для olexandr

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
картинка не успевает загрузиться, потому и 0
грузи через MovieClipLoader

Старый 06.01.2008, 00:49
Fox M. Lurde вне форума Посмотреть профиль Отправить личное сообщение для Fox M. Lurde Посетить домашнюю страницу Fox M. Lurde Найти все сообщения от Fox M. Lurde
  № 5  
Ответить с цитированием
Fox M. Lurde
 
Аватар для Fox M. Lurde

Регистрация: Jun 2004
Адрес: Нижний Новгород
Сообщений: 227
Отправить сообщение для Fox M. Lurde с помощью ICQ
Спасибо, весьма ценное замечание. А Вы в исходник не заглядывали? Если посмотрите внимательно, у меня стоят:

_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){
...
}
}

отсюда и вопрос - как решить задачу?
__________________
Чем больше силы, тем больше ответственности!

Старый 06.01.2008, 00:55
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Цитата:
Сообщение от Fox M. Lurde
Но ни одна из них не срабатывает. onLoadComplite тоже пробовал.
А надо onLoadInit
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 06.01.2008, 01:07
Fox M. Lurde вне форума Посмотреть профиль Отправить личное сообщение для Fox M. Lurde Посетить домашнюю страницу Fox M. Lurde Найти все сообщения от Fox M. Lurde
  № 7  
Ответить с цитированием
Fox M. Lurde
 
Аватар для Fox M. Lurde

Регистрация: Jun 2004
Адрес: Нижний Новгород
Сообщений: 227
Отправить сообщение для Fox M. Lurde с помощью ICQ
Благодарю. Но результат по прежнему 0 в буквальном смысле
__________________
Чем больше силы, тем больше ответственности!

Старый 06.01.2008, 02:11
koIIImarik вне форума Посмотреть профиль Отправить личное сообщение для koIIImarik Посетить домашнюю страницу koIIImarik Найти все сообщения от koIIImarik
  № 8  
Ответить с цитированием
koIIImarik
 
Аватар для koIIImarik

Регистрация: Jul 2007
Адрес: Россия, Москва
Сообщений: 522
Выложите код, с onLoadInit, может вы не тот объект проверяете. Вот, на всякий случай Flash урок с исходником на тему Movie Clip Loader.

Старый 06.01.2008, 14:27
Fox M. Lurde вне форума Посмотреть профиль Отправить личное сообщение для Fox M. Lurde Посетить домашнюю страницу Fox M. Lurde Найти все сообщения от Fox M. Lurde
  № 9  
Ответить с цитированием
Fox M. Lurde
 
Аватар для Fox M. Lurde

Регистрация: Jun 2004
Адрес: Нижний Новгород
Сообщений: 227
Отправить сообщение для Fox M. Lurde с помощью ICQ
Благодарю за урок - ознакомился еще ночью, пока спрашивал.
Код лежит в первом посте. Целиком (я имею ввиду аттач). Там, где заремировано PROBLEM собственно и менялись команды.
__________________
Чем больше силы, тем больше ответственности!

Старый 06.01.2008, 20:23
koIIImarik вне форума Посмотреть профиль Отправить личное сообщение для koIIImarik Посетить домашнюю страницу koIIImarik Найти все сообщения от koIIImarik
  № 10  
Ответить с цитированием
koIIImarik
 
Аватар для koIIImarik

Регистрация: Jul 2007
Адрес: Россия, Москва
Сообщений: 522
А где вы там в исходнике собственно onLoadInit используете?

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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