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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.01.2013, 23:02
Riki вне форума Посмотреть профиль Отправить личное сообщение для Riki Найти все сообщения от Riki
  № 11  
Ответить с цитированием
Riki

Регистрация: Jul 2012
Сообщений: 48
Ой, Господи ну ошибся в знаке, проблема поменять?(притом выше есть пример для width)

Ну поставленная задача, это никак не пропорциональное масштабирование(Загуглите что вообще такое пропорция).

И теперь для меня вообще огромный вопрос, в чем проблема реализации была? Ведь нужно было тупо, поменять значения width и height для картинки на соответствующие значения для контейнера.


Цитата:
Вот здесь, почему одно и тоже, проверяем два раза? По моему здесь что-то не так.
Код AS3:
if (pLoader.height>fotoHolder_Height || pLoader.height>fotoHolder_Height) {
Я исправил на это:
Код AS3:
if (pLoader.height<fotoHolder_Height) {
Проблема сразу разрешилась. Обьект, стал пропорционально масштабироваться на всю рабочую область. Благодарю за помощь!:-)
И тут проблема НЕ разрешилась, а наоборот, просто условие для height выполняется, так как вы берете картинку больше чем контейнер(ведь вы поменяли условие что бы была проверка только для картинок меньше по высоте чем контейнер).


И последние 2 вопроса для Вас: вы программист? и где вы учитесь?

Старый 21.01.2013, 05:03
StasHappy вне форума Посмотреть профиль Отправить личное сообщение для StasHappy Найти все сообщения от StasHappy
  № 12  
Ответить с цитированием
StasHappy

Регистрация: Jan 2013
Сообщений: 40
Цитата:
Ой, Господи ну ошибся в знаке, проблема поменять?(притом выше есть пример для width)
Вот вот, я же говорил что здесь чтото не так.

Вчера после работы, посидел чутка с тетрадкой и калькулятором. У меня вышел такой вариант:

Код AS3:
if(ldr.width!=stage.stageWidth && ldr.height!=stage.stageHeight) {
var delitel;
 
if (ldr.width>stage.stageWidth && ldr.height>stage.stageHeight) {
if(ldr.width!=ldr.height) {
	if(ldr.width>ldr.height) {
		if(ldr.width/ldr.height<=stage.stageWidth/stage.stageHeight) {
			delitel = ldr.width/stage.stageWidth;
			ldr.width = ldr.width/delitel;
			ldr.height = ldr.height/delitel;
		} else {
			delitel = ldr.height/stage.stageHeight;
			ldr.width = ldr.width/delitel;
			ldr.height = ldr.height/delitel;
		}
	} else {
			delitel = ldr.width/stage.stageWidth;
			ldr.width = ldr.width/delitel;
			ldr.height = ldr.height/delitel;
	}
} else {
			delitel = ldr.width/stage.stageWidth;
			ldr.width = ldr.width/delitel;
			ldr.height = ldr.height/delitel;
}
}
 
 
if(ldr.width<stage.stageWidth && ldr.height>=stage.stageHeight) {
	delitel = stage.stageWidth / ldr.width;
	ldr.width = ldr.width*delitel;
	ldr.height = ldr.height*delitel;
}
 
if(ldr.width>=stage.stageWidth && ldr.height<stage.stageHeight) {
	delitel = stage.stageHeight/ldr.height;
	ldr.width = ldr.width*delitel;
	ldr.height = ldr.height*delitel;
}
 
 
 
 
if(ldr.width<stage.stageWidth && ldr.height<stage.stageHeight) {
if(ldr.width!=ldr.height) {
	if(ldr.width>ldr.height) {
		if(ldr.width/ldr.height>stage.stageWidth/stage.stageHeight) {
			delitel = stage.stageHeight/ldr.height;
			ldr.width = ldr.width*delitel;
			ldr.height = ldr.height*delitel;
		} else {
			delitel = stage.stageWidth/ldr.width;
			ldr.width = ldr.width*delitel;
			ldr.height = ldr.height*delitel;
		}
	} else {
			delitel = stage.stageWidth/ldr.width;
			ldr.width = ldr.width*delitel;
			ldr.height = ldr.height*delitel;
	}
} else {
			delitel = stage.stageWidth/ldr.width;
			ldr.width = ldr.width*delitel;
			ldr.height = ldr.height*delitel;
}
}
 
 
}
Где ldr - это наш обьект. Данный код, расчитан на альбомный тип окна(другой мне в общем то сейчас и не нужен).

Цитата:
И последние 2 вопроса для Вас: вы программист? и где вы учитесь?
А насчет этого.. Да нет, я уже давно отучился. А из программирования, работал только с С++ и PHP.

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

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

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


 


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


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