Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Про шрифты, embed и enum. (http://www.flasher.ru/forum/showthread.php?t=115200)

jaguard 22.08.2008 04:32

Про шрифты, embed и enum.
 
1. [embed] - это нормально, не влияет на производительность ? Если я скажем в класс внедрю 15 вариантов спрайтов, которые он может принимать, но грузить буду только один(параметром в конструкторе) - не получится ли так, что при создании экземпляра класса будет создаваться и каждый из этих внедренных битмапов?
Нет, понятно что я могу создать класс-контейнер, из которого и буду получать битмапы, но нужно ли это?

2. Можно ли сделать некие объекты, которые будут String, но которые также можно и использовать в виде индекса(int)? Ну, объединить String и int. Чтобы в местах, критичных по производительности использовать int, ну и чтобы можно было делать пробег по всем вариантам, но в остальных местах можно было бы использовать говорящие названия, типа
FireMissile("Nuke", "40 Megaton");

В общем, мне не хватает enum из С++ :). Тут конечно приятно, что можно использовать String в switch-case, в отличии от C++, но производительность такого решения врядли высока.


3. Можно ли управлять текстом более "продвинуто", нежели изменять размер, шрифт и добавлять подчеркивание? Например, сделать желтый шрифт с зеленой обводкой, внутренней и внешней тенью, и с фаской. Глоу добавить там. Ну, типа того как это можно сделать в фотошопе, изменением свойств слоя, на котором расположен текст.

Если таких возможностей нет, может существует готовое решение по использованию нагенеренных в фотошопе шрифтов со стилем? Ну, экспортировать в битмап, загрузить и использовать как обычный шрифт, который можно прилепить к Textfield.

PeTa4eK 22.08.2008 07:05

3. Все это можно сделать. В флеш есть система фильтров. Учитесь и делайте все что захочите

etc 22.08.2008 10:42

1. Не влияет;
2. Константы не рулят?

jaguard 22.08.2008 19:23

Цитата:

Сообщение от PeTa4eK (Сообщение 759622)
3. Все это можно сделать. В флеш есть система фильтров. Учитесь и делайте все что захочите

А примеров, часом, нет? Например, обвести текст.

Цитата:

Сообщение от __etc
2. Константы не рулят?

Они рулят, но боюсь что switch-case в котором вместо однократного прыжка (jmp) будет выполняться сравнение строк каждой с каждой, убьет любой компьтер. Особенно если это какая-нибудь пулька, и таких на экране сотня, и свич используется в каждом кадре.

Яски 22.08.2008 20:02

Это будет проблемой плохой структуры проекта, а не медленной работой флеша. И вообще etc имел ввиду другое. Если объявить класс с несколькими константами
Код:

class Colors {
  static const RED:uint = 0xFF0000;
  static const GREEN:uint = 0xFF00;
  static const BLUE:uint = 0xFF;
  static const MAGNETA:uint = 0xFFF000;
}
var color:uint = Colors.BLUE;

switch (color) {
  case Colors.GREEN:
      // Что-то
      break;
}

Это вас не устроит?

jaguard 22.08.2008 21:43

Цитата:

Сообщение от Яски (Сообщение 759780)
Это будет проблемой плохой структуры проекта, а не медленной работой флеша. И вообще etc имел ввиду другое. Если объявить класс с несколькими константами

А, понял, спасибо. Я почему-то думал только о варианте static const RED:String = "red";
Пожалуй, так сойдет :).


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

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