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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.03.2007, 17:08
Yukagir вне форума Посмотреть профиль Отправить личное сообщение для Yukagir Посетить домашнюю страницу Yukagir Найти все сообщения от Yukagir
  № 1  
Ответить с цитированием
Yukagir
 
Аватар для Yukagir

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 64
Отправить сообщение для Yukagir с помощью ICQ
По умолчанию координаты загружаемого клипа в Opera

Добрый день.
Есть сайт http://www.yukagir.ru/cmspictures/
И есть проблема, которую пока не могу решить.
Если не сложно, посмотрите, пожалуйста, раздел "About", используя Opera. При нажатии на картинку открывается окно заданного размера с прелоудером. После загрузки окно должно менять размер и координаты в зависимости от размеров загруженной картинки. В IE, Netscape, Firefox все работает хорошо. В Opera есть две проблемы: во-первых, картинка загружается очень долго (долгое по времени определение, видимо, пути до картинки, сама загрузка, если верить прелоудеру, происходит нормально), во вторых, вторая часть кода после загрузки картинки не срабатывает и окно не меняет своих координат. После того, как картинка попадает в кэш, все хорошо.

Нормальную работу раздела для сравнения можно помотреть в IE.

Вот код, который находится в первом кадре окна:

Код:
stop();
empty._alpha = 0;
empty.loadMovie(_parent.conteiner.temp_win, 1);
preloader._alpha=50;
cl_but_min = 25; // ограничение кнопки close по иксу справа
close_but._x = win_head._x + win_head._width - cl_but_min;
win_head._x = empty._x;
win_head._width = empty._width;
win_head._y = empty._y - win_head._height;

preloader.onEnterFrame = function(){
	var tot:Number = empty.getBytesTotal()/1000;
	var lod:Number = empty.getBytesLoaded()/1000;
	preloader.kb = int(tot)+"kb / "+int(lod)+"kb";
	preloader.proc = int(lod/tot*100)+"%";
	preloader.gotoAndStop(int(lod/tot*100));
	if((lod*tot>0)&&(lod>=tot)){
		gotoAndStop(2);

		win_frame._width = empty._width;
		win_frame._height = empty._height;
		win_head._width = empty._width;
		close_but._x = win_head._x + win_head._width - cl_but_min;
		
		_parent.new_win._x = 400 - _parent.new_win._width/2;
		_parent.new_win._y = 300 - _parent.new_win._height/2;
		
		empty._alpha = 100;
		unloadMovie(preloader);
	}
}

close_but.onRelease = function(){
	_parent.conteiner.buts_on();
	unloadMovie(_parent.new_win);
}
win_head.onPress = function(){
	_parent.new_win.startDrag(false);
}
win_head.onRelease = function(){
	stopDrag();
}
заранее спасибо.
__________________
Yukagir

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

Регистрация: Sep 2002
Сообщений: 30,787
Браузерных зависимостей почти не бывает. Вот зависимость от версии плеера да. Для начала убедись, что плееры во всех браузерах одной версии.

Старый 11.03.2007, 17:38
Yukagir вне форума Посмотреть профиль Отправить личное сообщение для Yukagir Посетить домашнюю страницу Yukagir Найти все сообщения от Yukagir
  № 3  
Ответить с цитированием
Yukagir
 
Аватар для Yukagir

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 64
Отправить сообщение для Yukagir с помощью ICQ
последние версии стоят. специально сначала снес все, а потом заново с adob поставил.
__________________
Yukagir

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

Регистрация: Sep 2002
Сообщений: 30,787
Выведи алертом после загрузки размеры картинки. Я бы на твоем месте использовал бы MovieClipLoader.

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

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 64
Отправить сообщение для Yukagir с помощью ICQ
я попробую, спасибо. а есть принципиальная разница? кодом написаным вручную работа лоадера не повторяется?
__________________
Yukagir

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

Регистрация: Sep 2002
Сообщений: 30,787
Нет, у MovieClipLoader четкое отслеживание момента загрузки.
Ещё меня смущает gotoAndStop(2); сразу после загрузки. Что и куда стопится?

Старый 11.03.2007, 18:25
Yukagir вне форума Посмотреть профиль Отправить личное сообщение для Yukagir Посетить домашнюю страницу Yukagir Найти все сообщения от Yukagir
  № 7  
Ответить с цитированием
Yukagir
 
Аватар для Yukagir

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 64
Отправить сообщение для Yukagir с помощью ICQ
ну, фактически, это не обязательно было. на втором кадре бэкграунда нет. поленился из него клип делать и сделал переход на след. кадр с пустым слоем.
можно я дам исходник посмотреть?
__________________
Yukagir

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

Регистрация: Sep 2002
Сообщений: 30,787
Ну покажите.

Старый 11.03.2007, 21:15
Yukagir вне форума Посмотреть профиль Отправить личное сообщение для Yukagir Посетить домашнюю страницу Yukagir Найти все сообщения от Yukagir
  № 9  
Ответить с цитированием
Yukagir
 
Аватар для Yukagir

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 64
Отправить сообщение для Yukagir с помощью ICQ
вот исходник. картинок. естественно, нет. окно подгружается скриптом, т.е. оно не в сцене, а в библиотеке. в папке _win, называется "win".

спасибо большое.
__________________
Yukagir


Последний раз редактировалось Yukagir; 25.03.2007 в 23:30.
Старый 11.03.2007, 21:35
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
В loadMovie второй параметр строковый, а не числовой.

Код:
stop();
empty._alpha = 0;
preloader._alpha = 50;
cl_but_min = 25;
// ограничение кнопки close по иксу справа
close_but._x = win_head._x+win_head._width-cl_but_min;
win_head._x = empty._x;
win_head._width = empty._width;
win_head._y = empty._y-win_head._height;
onLoadInit = function () {
	win_frame._width = empty._width;
	win_frame._height = empty._height;
	win_head._width = empty._width;
	close_but._x = win_head._x+win_head._width-cl_but_min;
	_parent.new_win._x = 400-_parent.new_win._width/2;
	_parent.new_win._y = 300-_parent.new_win._height/2;
	empty._alpha = 100;
	delete preloader.onEnterFrame;
	unloadMovie(preloader);
};
mcl = new MovieClipLoader();
mcl.addListener(this);
mcl.loadClip(_parent.conteiner.temp_win, empty);
preloader.onEnterFrame = function() {
	var tot:Number = empty.getBytesTotal()/1000;
	var lod:Number = empty.getBytesLoaded()/1000;
	preloader.kb = int(tot)+"kb / "+int(lod)+"kb";
	preloader.proc = int(lod/tot*100)+"%";
	preloader.gotoAndStop(int(lod/tot*100));
};
close_but.onRelease = function() {
	_parent.conteiner.buts_on();
	unloadMovie(_parent.new_win);
};
win_head.onPress = function() {
	_parent.new_win.startDrag(false);
};
win_head.onRelease = function() {
	stopDrag();
};
Должно заработать (тестить локально это невозможно).

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

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

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


 


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


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