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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.10.2007, 03:12
afarber вне форума Посмотреть профиль Отправить личное сообщение для afarber Посетить домашнюю страницу afarber Найти все сообщения от afarber
  № 1  
Ответить с цитированием
afarber
 
Аватар для afarber

Регистрация: May 2006
Адрес: Germany
Сообщений: 74
Thumbs up Как нарисовать рамку компонента при помощи mx.skins.halo.RectBorder

Добрый вечер!

Adobe пишет в Component development checklist:

Цитата:
Use the RectBorder class (mx.skins.halo.RectBorder)
rather than graphical elements to draw borders around objects.
но вот как это делать конкретно, нигде не объясняет.

Мне хотелось бы нарисовать вокруг своих компонентов такую же прямоугольную зеленую рамку, как и у других стандартных v2-компонентов типа mx.controls.Button.

Я приготовил совсем простой компонент, который рисует прямоугольник:

http://preferans.de/flash/RectComp.as
http://preferans.de/flash/RectComp.fla

- как бы добавить теперь вокруг него стандартную haloGreen-рамку?

В адобовском файле mx\skins\halo\RectBorder.as есть интересное место:

Код:
function drawBorder(Void):Void
       {
...
            var b:String = getStyle(borderStyleName);
....
               else if (b == "default")
               {
                       drawRoundRect( 0,5,ww,hh-5,{tl:5,tr:5,br:0,bl:0},0x5e5e5e,10);//OuterBorder
                       drawRoundRect(
1,4,ww-2,hh-5,{tl:4,tr:4,br:0,bl:0},[0x5e5e5e,0x5e5e5e],10,0,"radial");
                       drawRoundRect(
2,0,ww-4,hh-2,{tl:3,tr:3,br:0,bl:0},[0xc4cccc,0xb4bcbc],100,0,"radial");
                       drawRoundRect( 3,1,ww-6,hh-4,{tl:2,tr:2,br:0,bl:0},0xffffff,100);//face
               }
И Xray показывает в моем RectComp наличие функции drawRoundRect.

Но вот как их соединить?

Спасибо
Алекс
Вложения
Тип файла: zip RectComp.zip (711 байт, 86 просмотров)

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

Регистрация: May 2006
Адрес: Germany
Сообщений: 74
Вот такой код вроде работает - рисует тонкую серую рамку (непонятно из какой темы):

Код:
 public function createChildren():Void {
   createClassObject(RectBorder, 'border_mc',
     this.getNextHighestDepth(),
     { styleName: this, borderStyleName: 'default'});
 }

 private function size():Void {

   super.size();
   border_mc.setSize(width, height);

   invalidate();
 }
Но вот как получить зеленую рамку как у стандартных
halo-themed buttons?
Вложения
Тип файла: zip RectComp.zip (750 байт, 76 просмотров)

Старый 07.11.2007, 13:50
Infectedcell вне форума Посмотреть профиль Отправить личное сообщение для Infectedcell Посетить домашнюю страницу Infectedcell Найти все сообщения от Infectedcell
  № 3  
Ответить с цитированием
Infectedcell
 
Аватар для Infectedcell

Регистрация: Mar 2006
Адрес: Москва
Сообщений: 415
а руками компоненту перерисовать не пробовал? это ж просто совсем.. загружаем библиотеку компоненты во Флеш.. там будет папочка со всеми мувиками, ну там их руками и перерисовываем...
Это собственно тоже, что и прицепить компонентовские мувики к твоей компоненте...
и не надо никаких классов, тем более, если сроки ждмут =D....
__________________
Mix: Хобби | Работа | undefined


Последний раз редактировалось Infectedcell; 07.11.2007 в 13:52.
Создать новую тему Ответ Часовой пояс GMT +4, время: 17:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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