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

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

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

блогер
Регистрация: Feb 2011
Адрес: Россия, Тольятти
Сообщений: 301
Записей в блоге: 10
По умолчанию Как создать такой класс?

Добрый вечер.
Понимаю, что вопрос несуразный но суть такова.
Я пишу игру на HAXE
У меня есть класс CosmoFont, который расширяет TextField.
Код AS3:
package;
import openfl.Assets;
import openfl.text.TextField;
import openfl.text.TextFieldAutoSize;
import openfl.text.TextFormat;
 
/**
 * ...
 * @author Volodin A.S.
 */
class CosmoFont1 extends TextField
{
 
	public function new(txt:String, x:Float=0, y: Float=0, size:Int=22, color:Int=0x000000, autosize:String = "l") 
	{
		super();
 
		this.x = x;
		this.y = y;
 
		var textFormat: TextFormat = new TextFormat();
		textFormat.color = color;
		textFormat.size = size;
		textFormat.font = Assets.getFont("fonts/CosmoFont1.ttf").fontName;
 
		defaultTextFormat = textFormat;
 
		embedFonts = true;
 
		switch(autosize)
		{
			case "l":
				autoSize = TextFieldAutoSize.LEFT;
			case "r":
				autoSize = TextFieldAutoSize.RIGHT;
			case "c":
				autoSize = TextFieldAutoSize.CENTER;
			default:
				autoSize = TextFieldAutoSize.LEFT;
		}
 
		mouseEnabled = false;
 
		this.text = txt;
	}
 
}
И чтобы создать текстовое поле, мне необходимо передавать в конструктор класса кучу параметров.
Выходит нечто вроде этого:
Код AS3:
coordsTF2 = new CosmoFont2("", 100, 150, 22, 0xffffff);
Вопрос: как мне создать класс, который можно будет настраивать постепенно (ИЛИ в конструкторе)?
Имею в виду:
Код AS3:
cosmo = CosmoFont1();
cosmo.txt = "текст";
cosmo.x = 123
// и т.д.
__________________
Надо сменить подпись...

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Почитайте про get- и set-методы
Кстати, x/y наследуются от TextField, их можно по-прежнему трогать за те же геттеры и сеттеры.
__________________
There is no thing in this world that is not simple.

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

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

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


 


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


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