Как использовать объект Sprite, сгенерированный во время выполнения, в качестве значка списка или дерева? - PullRequest
0 голосов
/ 16 декабря 2010

Я искал этот вопрос месяцами.

По умолчанию iconFunction of List и Tree возвращают только Class в качестве значка, который предназначен для встроенных изображений или iconUtility, любезно предоставленных этим сайтом http://blog.benstucki.net/?p=42. Он очень хорошо работает с предварительно созданными изображениями.

Но что я действительно хочу, так это принять полностью спрайтовый объект для генерации спрайтов, аналогичный тому, что делает Legend, с изменением цвета в зависимости от текущего состояния. Я предполагаю, что мог бы сделать что-то, чтобы ListBase мог принимать аргумент значка, отличный от Class. Я обряд? или, пожалуйста, посоветуйте, что мне делать.

Большое спасибо!

Wildog

Ответы [ 2 ]

0 голосов
/ 16 декабря 2010

Я не уверен, что это именно то, что вы хотите сделать, но вы можете достаточно легко превратить ваш спрайт в BitmapData (который вы можете использовать для создания BitmapAsset)

например

var bmp:BitmapData = new BitmapData(sprite.width, sprite.height);
bmp.draw(sprite);

var bmpasset:BitmapAsset = new BitmapAsset(bmp);
0 голосов
/ 16 декабря 2010

Вместо того, чтобы устанавливать значок для элемента дерева, я бы создал пользовательский инструмент визуализации элементов, используя TreeItemRenderer в качестве отправной точки.Затем поместите любой компонент слева от текста и немного сдвиньте текст вправо.Другое преимущество этого подхода заключается в том, что вы можете динамически изменять свой спрайт при изменении данных, которые устанавливаются для средства визуализации элементов.Надеюсь, это поможет.

...