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

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

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

Регистрация: Jul 2012
Сообщений: 148
По умолчанию Пропорция размера

Есть прямоугольник A 100x50px, он может тянуться до 200x200px.
Есть окно флэша, которое по дефолту 400x300px, оно может тянуться до 800x600px.

Нужно чтобы при окне 400px, прямоугольник был 100px, и, соответственно при окне 800px, прямоугольник был 200px.

Совсем запутался с пропорциями. Буду благодарен если кто-нибудь поможет.

Старый 17.02.2016, 14:58
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 2  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Код AS3:
import flash.display.StageScaleMode;
import flash.display.StageAlign;
import flash.display.Shape;
 
// Настройки сцены, необходимые для полного контроля за масштабом и расположением элементов.
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
 
// Наш прямоугольник 100х50.
var sq:Shape = new Shape();
sq.graphics.beginFill(0xf0a000);
sq.graphics.drawRect(0, 0, 100, 50);
sq.graphics.endFill();
addChild(sq);
 
// Сразу проверяем соответствие размера прямоугольника размеру сцены.
resize();
 
// Слушаем изменения размеров сцены, если она может меняться в процессе выполнения приложения.
stage.addEventListener(Event.RESIZE, onResize);
 
/** Подгонка размера прямоугольника в соответствии размерам сцены. */
function resize():void {
	sq.width = 100 * stage.stageWidth / 400;
}
 
/** Обработчик изменения размеров сцены. */
function onResize(event:Event):void {
	resize();
}
__________________
Поймай яблоко 2!

Старый 17.02.2016, 15:45
Vlad84 вне форума Посмотреть профиль Отправить личное сообщение для Vlad84 Найти все сообщения от Vlad84
  № 3  
Ответить с цитированием
Vlad84

Регистрация: Jul 2012
Сообщений: 148
Zebestov, у меня проблема с составлением пропорции, с математикой)

Старый 17.02.2016, 15:52
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 4  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
На твой вопрос я ответил. Необходимая пропорция вычисляется в методе resize(). Если нужно еще и высоту пропорционально менять — ну, добавь еще одну строку:
Код AS3:
sq.height = 50 * stage.stageWidth / 400;
Если задача шире, то и описать ее следует более подробно.
__________________
Поймай яблоко 2!

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

Регистрация: Jul 2012
Сообщений: 148
С исходником будет понятнее. Нужно чтобы синий прямоугольник дорастал до первой красной черты при размере стейджа = 700px
Вложения
Тип файла: zip resize_interval.zip (18.3 Кб, 25 просмотров)

Старый 17.02.2016, 16:43
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 6  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Тогда так.
Вложения
Тип файла: zip resize.zip (19.2 Кб, 32 просмотров)
__________________
Поймай яблоко 2!

Старый 17.02.2016, 17:42
Vlad84 вне форума Посмотреть профиль Отправить личное сообщение для Vlad84 Найти все сообщения от Vlad84
  № 7  
Ответить с цитированием
Vlad84

Регистрация: Jul 2012
Сообщений: 148
Спасибо, буквально только что сам решил. Давненько пропорции не составлял

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

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

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


 


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


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