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

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

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

Регистрация: Nov 2010
Сообщений: 24
По умолчанию как прикрепить спрайт к краю окна в проигрывателе

Доброе время суток всем! Подскажите пожалуйста, кто сталкивался,
каким образом можно зафиксировать спрайт с правого края, что бы при изменении границы, он привязан был к ней,
в том числе и при развертывании на весь экран?
Аналог свойства Align в других средах разработки.

Пробую изменять в обработчике события изменение экрана,
но не совсем понятно какое свойство смотреть надо и какое изменять.

Код AS3:
import fl.events.ComponentEvent;
stage.addEventListener(ComponentEvent.RESIZE, resizeHandler);
function resizeHandler(event):void 
{
	m_panel.x = stage.stageWidth - m_panel.width;
}


Последний раз редактировалось 8exe8; 06.01.2011 в 23:41.
Старый 06.01.2011, 22:56
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Подписаться на событие resize у Stage и изменять положение спрайта в обработчике относительно новых размеров сцены.

Старый 06.01.2011, 22:57
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 3  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
1. Отключить масштабирование и поставить выравнивание всех объектов по левому верхнему краю:
Код AS3:
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
2. Подписаться на RESIZE у stage и ставить спрайт в нужные координаты относительно новых размеров сцены.
__________________
тонкий тролль, осеянный благодатью

Старый 06.01.2011, 23:28
8exe8 вне форума Посмотреть профиль Отправить личное сообщение для 8exe8 Найти все сообщения от 8exe8
  № 4  
Ответить с цитированием
8exe8

Регистрация: Nov 2010
Сообщений: 24
Обработчик RESIZE срабатывает. Проблема с stageWidth,
панелька плавно следует за границей, но не совсем правильно.
если сузить окно, появлятся растояние между ней и границей
если расширить то панелька уходит за границу и становится невидимой.

NO_SCALE и TOP_LEFT не повлияли на результат((

Такое впечатление как будто stageWidth нужно корректировать на какоето значение, которое тоже меняется в зависимости от размеров окошка.

Добавлено через 27 минут
Ура, подключил библиотеки:
Код AS3:
import flash.display.StageScaleMode;
import flash.display.StageAlign;
и все заработало!!!
Всем спасибо!


Последний раз редактировалось 8exe8; 06.01.2011 в 23:40.
Создать новую тему Ответ Часовой пояс GMT +4, время: 14:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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