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

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

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

Регистрация: Nov 2007
Сообщений: 25
Question Создание и редактирование стандартных компонент

Добрый день.
Начал осваивать применение стандартных компонент под третий экшн и столкнулся с рядом проблем:
Первая проблема:
При создании интерфеса мне нужно использовать один и тот же компонент (допустим CheckBox). Но у него должно быть три разных внешних вида (допустим тумблер, кнопка с загорающейся лампочкой и классический вид). В хелпе я прочитал, что применения для редактирования стандартных команд экшена очень затормозят работу и их не рекомендуют использовать. Создатели рекомендуют на прямую рисовать внешний вид. Но тогда я сталкиваюсь с проблемой, что в один документ экшена нельзя помещать два разных обьекта с одним классом. Хотелось бы услышать ваши рекомендации.
Проблема вторая:
Не могу найти для Слайдела команды для изменения размера ползунка. Форму ему можно придать любую. А вот почему-то размер все время один и тот же... Плюс, как аказалось в стандартной компоненте экшена не предусмотрено изменение цвета справа и слева ползунка. Кто-нибудь знает как это сделать?

Заранее спасибо.

Старый 18.11.2008, 17:33
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
установка скинов через setStyle вполне решает первую задачу, чем оно "затормозит работу" не ясно
можно, канеш, попытаться клонировать компонент, с тем чтобы он использовал свои(другие) ресурсы, но не думаю, что это сильно ускорит работу..

по слайдеру: можно использовать наследника Slider, в котором принудительно установить размеры (или что-там еще надо) для thumb и track - кривое решение, но ничего другого не вижу, разве что написать свой..

Старый 19.11.2008, 18:04
Fleaxa вне форума Посмотреть профиль Отправить личное сообщение для Fleaxa Найти все сообщения от Fleaxa
  № 3  
Ответить с цитированием
Fleaxa

Регистрация: Nov 2007
Сообщений: 25
Спасибо за подсказку. Только наткнулся на очередную проблемку.
при попытке установить принудительные размеры флешь плюется и требует определить клас которому устанавливается размер (все имаги прописаны как классы).
А куда ссылаться на них фиг знает......

Старый 19.11.2008, 20:47
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
у Slider есть protected свойства thumb и track
извне изменить их нельзя, но в классе наследующем от Slider можно
Код AS3:
var slider:MySlider = new MySlider();
addChild(slider);
Код AS3:
package  
{
	import fl.controls.Slider;
 
	public class MySlider extends Slider
	{
		public function MySlider() 
		{
			thumb.width = 60;
			track.height = 20;
		}
	}
}

Старый 21.11.2008, 13:55
Fleaxa вне форума Посмотреть профиль Отправить личное сообщение для Fleaxa Найти все сообщения от Fleaxa
  № 5  
Ответить с цитированием
Fleaxa

Регистрация: Nov 2007
Сообщений: 25
О-о-о-о... Спасибки... )))
То, что нужно.

Добавлено через 3 часа 35 минут
Нехочу показаться блондинкой, но именно таким сейчас себя и чувствую.

Попытался разобраться с setStyle, почитал хелп, полазил по форуму, по нету. Как применять ее для текста понятно. Но как она применяется для замены скина, не очень.
Может кто-то сможет подкинуть пример кода для моего случая.
Мне нужно взять любой компонент и прописать ему новый клас, который будет наследоваться от старого. А в новом классе уже прописывать скины для компоненты.


Последний раз редактировалось Fleaxa; 21.11.2008 в 17:31.
Старый 21.11.2008, 20:37
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 6  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Код AS3:
cb.setStyle("upIcon", CheckBox_upIcon_copy);//CheckBox_upIcon_copy - класс библиотечного символа
и так тоже:
Код AS3:
var myIcon:Shape = new Shape();
myIcon.graphics.beginFill(0xFF0000);
myIcon.graphics.drawCircle(5, 5, 5);
cb.setStyle("upIcon", myIcon);
в классе наследнике
Код AS3:
public class MyCheckBox extends CheckBox
{
	public function MyCheckBox() 
	{
		setStyle("upIcon", CheckBox_upIcon_copy);
	}
}


Последний раз редактировалось silin; 21.11.2008 в 20:42.
Старый 21.11.2008, 20:53
s8000_1 вне форума Посмотреть профиль Отправить личное сообщение для s8000_1 Найти все сообщения от s8000_1
  № 7  
Ответить с цитированием
s8000_1
 
Аватар для s8000_1

Регистрация: Jun 2007
Сообщений: 374
Лучше setStyle не использовать, могут возникнуть косяки со StyleManager

Код AS3:
public class MyCheckBox extends CheckBox
{
  private static var _defaultStyles:Object = {upIcon: CheckBox_upIcon_copy}
  public static function getStyleDefinition():Object { return mergeStyles(_defaultStyles, CheckBox.getStyleDefinition()); }
  public function MyCheckBox() 
	{
 
	}
}

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

Регистрация: Nov 2007
Сообщений: 25
Спасибки вам. Рецепты очень помогли... Дальше все пошло как по маслу.

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

Теги
компоненты

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

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


 


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


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