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

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

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

Регистрация: Feb 2014
Сообщений: 56
По умолчанию Неправильное возвращение значения Color из компонента

Создал Пользовательский компонент, всё работает, но..
В свойствах выбора цвета выбирая #FF0000 - красный, возвращает на этапе выполнения строку формата 2400632. Цвет элемента естественно, уже не соответствует желаемому.

Код основного класса:
Код AS3:
package scripts
{
	import flash.display.Sprite;
	import flash.events.MouseEvent;
 
	public class checkBoxM extends Sprite
	{
		[Inspectable (name="Font", variable="tFont", defaultValue="Arial", type="Font Name")]
		[Inspectable (name="Color", variable="tColor", defaultValue="#000000", type="Color")]
        [Inspectable (name="Checked", variable="Checked", defaultValue=false, type="Boolean")]
        [Inspectable (name="Text", variable="Text", defaultValue="CheckBox", type="String")]
 
		private var isChecked:Boolean = false;
		private var isHovered:Boolean = false;
 
		private var textColor:int;
		private var textFont:String;
 
		public function checkBoxM():void // конструктор
		{ // ===================================================================
			addEventListener(MouseEvent.CLICK, setCheck);
			addEventListener(MouseEvent.MOUSE_OVER, mouseOver);
			addEventListener(MouseEvent.MOUSE_OUT, mouseOut);
		} // ===================================================================
 
		// ~~~~~~~~~~~~~~~~~~~!!! Параметры компонента !!!~~~~~~~~~~~~~~~~~~~~~~
		public function set tFont(font:String):void{textFont = font;}
		public function set tColor(color:int):void{textColor = color;}
		public function set Checked(bool:Boolean):void{isChecked = bool; redraw()}
		public function set Text(text:String):void
		{
			Label.htmlText = "<font face=\""+textFont+"\"><FONT COLOR=\"#"+textColor+"\">"+text+"</FONT>";
		}
		// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
		/////// REDRAW /////////////////////////////////////////////////////////
		private function redraw():void // перерисовка иконки по запросу
		{ // ===================================================================
			if(checked){icon.setIcon("Checked");}else{icon.setIcon("Normal");}
		} // ===================================================================
 
		/////// TEXT ///////////////////////////////////////////////////////////
		public function set text(string:String) {Label.htmlText = string;}
		public function get text():String {return(Label.htmlText);}
 
		/////// CHECKED ////////////////////////////////////////////////////////
		public function set checked(bool:Boolean) {isChecked = bool; redraw()}
		public function get checked():Boolean {return(isChecked);}
 
		public function setCheck(e:MouseEvent):void // триггер свойства Checked
		{ // ===================================================================
			if(isChecked == true)
			{
				isChecked = false;
				icon.setIcon("Normal");
			}
			else
			{
				isChecked = true;
				icon.setIcon("Checked");
			}
		} // ===================================================================
 
		/////// HOVERED ////////////////////////////////////////////////////////
		public function get hovered():Boolean{return(isHovered);}
 
		private function mouseOver(e:MouseEvent):void // мышь над объектом
		{ // ===================================================================
			if(icon.getIcon() == "Normal")
			{
				isHovered = true;
				icon.setIcon("Hovered");
			}
			else if (icon.getIcon() == "Checked")
			{
				isHovered = true;
				icon.setIcon("CheckedHovered");
			}
		} // ===================================================================
 
		private function mouseOut(e:MouseEvent):void // мышь покинула объект
		{ // ===================================================================
			if(icon.getIcon() == "Hovered")
			{
				isHovered = false;
				icon.setIcon("Normal");
			}
			else if(icon.getIcon() == "CheckedHovered")
			{
				isHovered = false;
				icon.setIcon("Checked");
			}
		} // ===================================================================
	}
}
Добавлено через 46 минут
Проблемная строчка:

Код AS3:
public function set Text(text:String):void
		{
			Label.htmlText = "<font face=\""+textFont+"\"><FONT COLOR=\"#"+textColor+"\">"+text+"</FONT>";
		}

Старый 03.03.2014, 18:43
Vreden вне форума Посмотреть профиль Отправить личное сообщение для Vreden Найти все сообщения от Vreden
  № 2  
Ответить с цитированием
Vreden
 
Аватар для Vreden

Регистрация: Feb 2009
Сообщений: 141
Код AS3:
textColor.toString(16).toUpperCase()
Мануал

Старый 03.03.2014, 19:26
Freeman вне форума Посмотреть профиль Отправить личное сообщение для Freeman Найти все сообщения от Freeman
  № 3  
Ответить с цитированием
Freeman
 
Аватар для Freeman

Регистрация: Feb 2014
Сообщений: 56
Vreden, большое спасибо. Всё работает как надо и мануал пригодится! =)

Старый 03.03.2014, 21:16
Koopa вне форума Посмотреть профиль Найти все сообщения от Koopa
  № 4  
Ответить с цитированием
Koopa
Banned
[+1 30.08.14]
[+1 26.02.14]

Регистрация: Apr 2012
Сообщений: 162
Цитата:
Сообщение от Freeman Посмотреть сообщение
Создал Пользовательский компонент, всё работает, но..
В свойствах выбора цвета выбирая #FF0000 - красный, возвращает на этапе выполнения строку формата 2400632. Цвет элемента естественно, уже не соответствует желаемому...
Следите внимательней что вам возвращают и что вы посылаете! 0XFFFFFFFF "автоматически" преобразуется в uint.MAX_VALUE.

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

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

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


 


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


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