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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.01.2008, 01:47
el-lammo вне форума Посмотреть профиль Отправить личное сообщение для el-lammo Найти все сообщения от el-lammo
  № 1  
Ответить с цитированием
el-lammo
[+1.3 02.01.08]

Регистрация: Jun 2005
Адрес: Moscow
Сообщений: 52
По умолчанию отцентровка изображения (opera)

в одном единственном кадре стоит

Код:
mc.maxWidth = 420; // задает рамку 420 на 420
mc.maxHeight = 420;

// в эту область грузится картинка

mc.loadImage = function(file){
this.image.removeMovieClip();
this.createEmptyMovieClip("image", 0);
this.image.loadMovie(file);
this.onEnterFrame = function(){
var l = this.image.getBytesLoaded();
var t = this.image.getBytesTotal();
if(t>0 && l>=t){
delete this.onEnterFrame;
this.resize();}
};
};

// выравнивает загружаемую картинку по центру
mc.resize = function(){ 
this.image._x = Math.round((this.maxWidth-this.image._width)/2);
this.image._y = Math.round((this.maxHeight-this.image._height)/2);
};
_root.mc.loadImage("img/medium/obj1-001.jpg");

и куча кнопок на каждой стоит

Код:
on(press){
tellTarget(_root.mc.loadImage("img/medium/obj1-002.jpg")){}}
в ie все работает прекрасно

в опере имеется вот такой глюк

если нажать на одну из кнопок, и пока картинка не загрузилась до конца, нажать любую другую
то врезультате загрузившаяся последняя картинка смещается вниз и вправо за пределы допустимой области
ощущение что в какой-то момент в _root.mc.image помещаются сразу две картинки и this.image._width принимается длина обеих сразу
или еще что-то не понимаю вобщем

а указывать к каждой картинке конкретно _x и _y очень затруднительно

может у кого есть мысли по этому поводу?


Последний раз редактировалось etc; 02.01.2008 в 11:19.
Старый 02.01.2008, 02:34
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 2  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
1. Оформите код в своем сообщении, используя теги [code][/code]
2. Не используйте on() и tellTarget, они считаются устарешими начинаяс 2000 года
3. Используйте MovieClipLoader и обработчик onLoadInit. Дело в том, что между окончанием загрузки и инициализацией значений ширины и высоты проходит некоторое время, а до этого они равны 0. в разных вариантах плеера (activeX, plugin, standalone) оно немного разное. У Вас как раз и возникает из-за этого проблема. Масштабирование в коде при вызове onLoadInit позволит ее избежать
__________________
4am is time to rock

Старый 02.01.2008, 02:38
el-lammo вне форума Посмотреть профиль Отправить личное сообщение для el-lammo Найти все сообщения от el-lammo
  № 3  
Ответить с цитированием
el-lammo
[+1.3 02.01.08]

Регистрация: Jun 2005
Адрес: Moscow
Сообщений: 52
вернее глюк вот в чем

видимо браузер не успевает отследить длину и ширину загружаемой картинки и принимает их за 0
поэтому изображение центрируется не там где надо

вот картинки того что получается

можно-ли применить resize() только в тот момент когда уже известны длина и ширина подгружаемой картинки?
Изображения
   

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

Регистрация: Jul 2006
Адрес: Питер
Сообщений: 2,083
Отправить сообщение для MrPoma с помощью Skype™
юзайте trace() и найдете ошибку

Старый 02.01.2008, 03:01
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 5  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Цитата:
Сообщение от el-lammo
видимо браузер не успевает отследить длину и ширину загружаемой картинки и принимает их за 0
Нет, это Вы слишком рано требуете плеер дать эту информацию.

P. S. У меня в практике бывали странные случаи, когда в onLoadInit ширина и высота все равно равны 0, тогда помогают вещи типа присваивания масштаба 100% по горизонтали и вертикали(_xscale,_yscale), после этого ширина и высота должны быть нормальными.
__________________
4am is time to rock

Старый 02.01.2008, 11:20
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
el-lammo получает плюс за проигнорированное замечание модератора.

Старый 02.01.2008, 13:30
valyard.com вне форума Посмотреть профиль Отправить личное сообщение для valyard.com Найти все сообщения от valyard.com
  № 7  
Ответить с цитированием
valyard.com
[+4 02.01.08]

Регистрация: Apr 2007
Сообщений: 8
Цитата:
Сообщение от __etc
el-lammo получает плюс за проигнорированное замечание модератора.
повеселил
P.S. я, наверно, получу плюс за смех над модератором?

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Нет, за флуд.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 02.01.2008, 14:08
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
valyard, вы такой белый и пушистый в ruFlash, а к данному форуму у вас явно предвзятое отношение. Здесь не лохи сидят, как вам могло показаться.
Оставьте свою предвзятость при себе, когда вновь придете сюда.

Старый 02.01.2008, 19:56
el-lammo вне форума Посмотреть профиль Отправить личное сообщение для el-lammo Найти все сообщения от el-lammo
  № 10  
Ответить с цитированием
el-lammo
[+1.3 02.01.08]

Регистрация: Jun 2005
Адрес: Moscow
Сообщений: 52
Цитата:
Сообщение от DarkLight
1. Оформите код в своем сообщении, используя теги [code][/code]
думал это относится к последующим сообщениям
не знал что можно изменить уже написанное

если администраторы так трепетно относятся к соблюдению норм
то просто удалите последние 5 сооющений

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

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

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


 


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


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