В Flex/AS3, как я получаю определение класса встроенного актива с getDefinitionByName

Вы должны расширить ImageView и нарисовать собственный округленный прямоугольник.

Если вам нужна рамка вокруг изображения, вы также можете наложить закругленный кадр поверх изображения в макете.

[изменить] Наложить рамку на оригинал изображения, используя, например, FrameLayout. Первым элементом FrameLayout будет изображение, которое вы хотите округлить округлым. Затем добавьте еще один ImageView с фреймом. Второй ImageView будет отображаться поверх оригинала ImageView, и, таким образом, Android будет рисовать его содержимое над символом ImageView.

5
задан aib 19 September 2008 в 14:25
поделиться

3 ответа

Это не отвечает на Ваш вопрос, но он может решить Вашу проблему. Я верю выполнению, что-то вроде этого должно работать:

public class MyClass
{
  [Embed(source="images/image1.png")] private static var Image1Class:Class;
  [Embed(source="images/image2.png")] private static var Image2Class:Class;
  [Embed(source="images/image3.png")] private static var Image3Class:Class;

  private var _image:Bitmap;

  public function MyClass(name:String)
  {
    _image = new this[name]() as Bitmap;    
  }
}

var cls:MyClass = new MyClass("Image1Class");

Мне нелегко помнить, работает ли нотация скобки над запечатанными классами. Если это не делает, простое решение состоит в том, чтобы отметить класс как динамичный.

8
ответ дан 18 December 2019 в 14:54
поделиться

Вы не должны использовать воображение getDefinitionByName () методы, просто относиться к нему динамично. В Вашем случае замените строку 'Сбоев':

var classDef:Class = MyClass[name] as Class;

И это должно сделать это.

2
ответ дан 18 December 2019 в 14:54
поделиться

Большое вам спасибо! Я просто потратил почти 5 часов, пытаясь заставить POS getDefinitionByName работать с getQualifiedClassName, который я был готов кинуть !! Мой последний рабочий код выглядит так и даже получает имя строки из массива.

CreatureParam - это двумерный массив строк;

Тип - это целое число, которое отправляется во флэш-память с помощью тега HTML, который, в свою очередь, поступает из базы данных MYSQL через PHP.

Mark1_cb - это поле со списком, которое находится на сцене и имеет имя экземпляра. Его вывод также является целым числом.

Таким образом, приведенный ниже код импортирует класс BirdBodyColor_mc из внешнего swf-файла «ArtLibrary.swf». BirdBodyColor_mc - это видеоролик, созданный из изображения PNG. Обратите внимание, что вы должны дважды щелкнуть фрагмент ролика в ArtLibrary.fla и вставить второй ключевой кадр. Для видеоклипа очевидно требуется два кадра, или flash пытается импортировать его как спрайт, что вызывает несоответствие типов.

Mark1_cb - это поле со списком, которое находится на сцене и имеет имя экземпляра. Его вывод также является целым числом.

Таким образом, приведенный ниже код импортирует класс BirdBodyColor_mc из внешнего swf-файла «ArtLibrary.swf». BirdBodyColor_mc - это видеоролик, созданный из изображения PNG. Обратите внимание, что вы должны дважды щелкнуть фрагмент ролика в ArtLibrary.fla и вставить второй ключевой кадр. Для видеоклипа, очевидно, требуется два кадра, или flash пытается импортировать его как спрайт, что вызывает несоответствие типов.

Mark1_cb - это поле со списком, которое находится на сцене и имеет имя экземпляра. Его вывод также является целым числом.

Таким образом, приведенный ниже код импортирует класс BirdBodyColor_mc из внешнего swf-файла «ArtLibrary.swf». BirdBodyColor_mc - это видеоролик, созданный из изображения PNG. Обратите внимание, что вы должны дважды щелкнуть фрагмент ролика в ArtLibrary.fla и вставить второй ключевой кадр. Для видеоклипа очевидно требуется два кадра, или flash пытается импортировать его как спрайт, что вызывает несоответствие типов.

fla и вставьте второй ключевой кадр. Для видеоклипа очевидно требуется два кадра, или flash пытается импортировать его как спрайт, что вызывает несоответствие типов.

fla и вставьте второй ключевой кадр. Для видеоклипа, очевидно, требуется два кадра, или flash пытается импортировать его как спрайт, что вызывает несоответствие типов.

[Встроить (source = "ArtLibrary.swf", symbol = "BirdBodyColor_mc")] var BirdBodyColor_mc: Class;

Обычно я помещал бы экземпляр этого класса мувиклипа на сцену, используя этот код.

myMC: MovieClip = новый BirdBodyColor_mc (); addChild (myMC);

var Определение: Class = this ["BirdBodyColor_mc"] как Class; var Mark1: MovieClip = new Definition ();

Но мне нужно сделать это, используя строковое значение, найденное в моем массиве. Вот код для этого:

var Определение: Class = this [CreatureParam [Type] [Mark1_cb + 2]] как Class; var Mark1: MovieClip = new Definition ();

0
ответ дан 18 December 2019 в 14:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: