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

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

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

Регистрация: Jul 2005
Сообщений: 41
По умолчанию Намекните как сделать "умный" ресайз мувика ?

Есть мувик с рамкой из lineTo (т.е. нарисованной) и с содержанием в виде пары textField и jpeg'a. Вопросов два :
1) Как ресайзнуть мувик чтобы не уплыла рамка ? (если делать просто через ._width то ширина меняется правильно, НО! вместе с ней меняется и отлщина линий - причём пропорционально - если начальный размер был 50 и задаём ._width=250 то толщина рамки из исходных 2 становится (250/50)*2=10
Предположим что рамка прямоугольная (то что наклонные линии уплывут это понятно - но там впринципе понятно как бороться)
2) Как при ресайзе перерисовать содержимое мувика ? т.е. есть какой-нить аналог stage.onResize для отдельно взятых мувиков ? .watch как я понял не работает с _width/_height Если аналог есть, то впринципе понятно - задаём координаты всех вложенных в мувик объектов через дельту по осям например - но как словить момент ресайза ?
---
Пока приходит на ум только то, что ресайз мувика есть всегда результат какого-то действия - например в моём случае ресайз привязан к четырём клавишам -> вообще отрисовку можно и на эти клавишы тоже посадить - но может как-то покрасивше можно сделать ?

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
1.Если изменения размеров ты делаешь сам (с помощью клавиш), то лучше сразу запускать функцию перерисовки.
2.Можно через onEnterFrame или setInterval проверять размеры текущие с записанными и при не совпадении перерисовывать. Но такой способ ресурсоемкий. Ты можешь ни разу не изменить размер, но проверка будет постоянно осуществляться. Так что, все же лучше первый вариант.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 25.07.2005, 14:23
rukez вне форума Посмотреть профиль Отправить личное сообщение для rukez Найти все сообщения от rukez
  № 3  
Ответить с цитированием
rukez

Регистрация: Jul 2005
Сообщений: 41
да, впринципе с перерисовкой я так примерно и описал внизу, а как делать ресайз человеческий ?

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

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

Старый 25.07.2005, 14:39
rukez вне форума Посмотреть профиль Отправить личное сообщение для rukez Найти все сообщения от rukez
  № 5  
Ответить с цитированием
rukez

Регистрация: Jul 2005
Сообщений: 41
Не, всмысле как ресайзнуть нарисованную рамку не перерисовывая её ? Или тоже только перерисовывать ? С содержимым да - всё просто т.к. меняем только атрибуты, которые не требуют удалять и перерисовывать исходник - а вот при изменении _width нарисованной shape имеет место глюк - как с ним то бороться ? или тоже труба и всётаки перерисовывать ?

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

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

Старый 25.07.2005, 23:09
JudgeFog вне форума Посмотреть профиль Отправить личное сообщение для JudgeFog Найти все сообщения от JudgeFog
  № 7  
Ответить с цитированием
JudgeFog
[+1.4 - 25.03.2006]

Регистрация: Aug 2002
Адрес: St-Петербург
Сообщений: 92
ленивая стала молодежь
а вот во времена пятерки lineTo не было
что мешает рамку разбить на две горизонтальные линии + две вертикальные
работаешь с ними как с отдельными клипами да и все
горизонтальным _width менять, вертикальные при этом двигать
вертикальным соответственно _height менять и горизонтальные двигать

Старый 26.07.2005, 01:36
TERRORist вне форума Посмотреть профиль Отправить личное сообщение для TERRORist Найти все сообщения от TERRORist
  № 8  
Ответить с цитированием
TERRORist
 
Аватар для TERRORist

блогер
Регистрация: Jun 2005
Адрес: RU
Сообщений: 1,540
Записей в блоге: 12
чтобы сделать умный ресайз нужен как минимум умный флэшер. опционально еще несколько Wmz надо.

Старый 26.07.2005, 10:00
john вне форума Посмотреть профиль Отправить личное сообщение для john Посетить домашнюю страницу john Найти все сообщения от john
  № 9  
Ответить с цитированием
john
МЕГАФЛЭШЕР

Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
2rukez

если игнорировать вопрос по толщине рамок,
то ответ на вопрос - использовать layout менеджер.

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

тут есть несколько подходов.

например, стиль html-таблицы - это есть например в swing/java или же во flex.

другой вариант, регистрация поведения каждого отдельного компоннента на изменния высоты/ширины - некий конфигурационный язык описания поведения.

ну и другие подходы.

у меня есть свой собсвенный фреймворк для этого, но в нете есть множество готовых решений.

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

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

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

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

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


 


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


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