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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.04.2007, 14:20
repz вне форума Посмотреть профиль Отправить личное сообщение для repz Найти все сообщения от repz
  № 1  
Ответить с цитированием
repz

Регистрация: Mar 2006
Сообщений: 425
По умолчанию Резиновый флеш? (не всегда срабатывает)

Когда обноляешь или идешь по закладке на сайте, резинка не отображается корректно, при повторном обновление (иногда многократном) обновлении - все встает на свои места. Есть ли способ оптимизации или такой вот он - резиновый?
Код:
 Stage.scaleMode = "noScale";
 Stage.align = "TL";
 var resize_obj = {};

 resize_obj.normal_width = 1400;
 resize_obj.normal_height = 75;
 resize_obj.position = [help, users, foto, rules];
 onLoadInit=resize_obj.onResize;
 resize_obj.onResize = function()
 {
     var clip;
     for (var i in this.position) {
         clip = this.position[i];
         clip._x = Stage.width*clip._xRatio;
         clip._y = Stage.height*clip._yRatio;
     }
 };
Stage.addListener(resize_obj);
 var clip;
 for (var i in resize_obj.position) {
      clip = resize_obj.position[i];
     clip._xRatio = clip._x/resize_obj.normal_width;
     clip._yRatio = clip._y/resize_obj.normal_height;
 };
Чуть не забыл, как сделать, что бы фон (картинка) тоже менял свои пропорции?

Вот нашел добавил, но проблема не решилась:
Код:
 onLoadInit=resize_obj.onResize;


Последний раз редактировалось repz; 16.04.2007 в 14:57.
Старый 16.04.2007, 15:16
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ну для начала вы пытаетесь создать ссылку на метод, который ещё не описан. Во-вторых, мне непонятно, зачем вам onLoadInit, если это событие вообще от MovieClipLoader и тут оно вообще не нужно.
Нужно добавить в конец:
Код:
resize_obj.onResize();
и все. Строку с onLoadInit стереть.

Старый 16.04.2007, 16:17
repz вне форума Посмотреть профиль Отправить личное сообщение для repz Найти все сообщения от repz
  № 3  
Ответить с цитированием
repz

Регистрация: Mar 2006
Сообщений: 425
Огромное спасибо!
Вот еще возникла проблемка:
Код:
if(help.hitTest(users)){
			help._x--;
			users._x++; 
}
Не срабатывает? Может надо что бы help и users были MC? У меня кнопки?

Старый 16.04.2007, 16:22
CorC вне форума Посмотреть профиль Отправить личное сообщение для CorC Найти все сообщения от CorC
  № 4  
Ответить с цитированием
CorC
 
Аватар для CorC

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
"Может надо что бы help и users были MC?" - не обязательно

может просто это надо в onEnterFrame
может ошибка в областях видимости
может ошибка в Instance Name
__________________
"We Are The Champions My Friends!" Queen

Старый 16.04.2007, 16:31
repz вне форума Посмотреть профиль Отправить личное сообщение для repz Найти все сообщения от repz
  № 5  
Ответить с цитированием
repz

Регистрация: Mar 2006
Сообщений: 425
"может ошибка в Instance Name" - ошибки нет
"может ошибка в областях видимости" - ошибки нет
"может просто это надо в onEnterFrame" - может, ща попробую

Вот тоже не работает.
Код:
_root.onEnterFrame=function(){
 if(help.hitTest(users)){
			_root.help._x--;
			_root.users._x++;
		} 
 }


Последний раз редактировалось iNils; 16.04.2007 в 18:03.
Старый 16.04.2007, 16:47
CorC вне форума Посмотреть профиль Отправить личное сообщение для CorC Найти все сообщения от CorC
  № 6  
Ответить с цитированием
CorC
 
Аватар для CorC

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
И как проявляется нерабочесть? Я только что написал то, что в 6 посте, все работает...
А что выдает trace на help._x users._x и hitTest?
__________________
"We Are The Champions My Friends!" Queen

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

Регистрация: Sep 2002
Сообщений: 30,787
Это выходит за рамки темы, но ладно, закрою глаза.

Старый 16.04.2007, 16:59
repz вне форума Посмотреть профиль Отправить личное сообщение для repz Найти все сообщения от repz
  № 8  
Ответить с цитированием
repz

Регистрация: Mar 2006
Сообщений: 425
2 CorC:
Мдя это я что-то сплоховал) я хотел, что бы они,как бы друг от друга всегда были на расстоянии скажем в 40рх. Вот как с этим быть?

2 __etc:
Спасибо))))

В трейсе:undefined, причем даже если наложить друг на друга изначально.


Последний раз редактировалось repz; 16.04.2007 в 17:04.
Старый 16.04.2007, 17:02
CorC вне форума Посмотреть профиль Отправить личное сообщение для CorC Найти все сообщения от CorC
  № 9  
Ответить с цитированием
CorC
 
Аватар для CorC

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
" они,как бы друг от друга всегда были на расстоянии скажем в 40рх"
Что мешает держать их на рассотянии скажем по формуле окружности?
Можно либо от центров отталкиваться, либо просто от _х _у
__________________
"We Are The Champions My Friends!" Queen

Старый 17.04.2007, 12:28
repz вне форума Посмотреть профиль Отправить личное сообщение для repz Найти все сообщения от repz
  № 10  
Ответить с цитированием
repz

Регистрация: Mar 2006
Сообщений: 425
Добавил интервал, но не получается сделать что бы проверял при изменении разрешения и отодвигал друг от друга, помогите разобраться.
Код:
  resize_obj.onResize = function()
 {
	 var num:Number=0;
var int1 = setInterval(inter = function ():Void{
	num++;
	if (num==1){
		clearInterval(int1);
		delete int1;
		delete num;
		if(help.hitTest(users)){
		help._x++;
		users._x--;
		};
		trace(help.hitTest(users));
			}  
},2000);
	
	 var clip;
     for (var i in this.position) {
         clip = this.position[i];
         clip._x = Stage.width*clip._xRatio;
         clip._y = Stage.height*clip._yRatio;
     }
	 
};


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

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

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


 


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


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