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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

Регистрация: Apr 2010
Сообщений: 72
По умолчанию Создание класса MovieClip из изображения в библиотеке

Имею в библиотеке около 200 изображений, хочу вставить их иконками в List. Для этого мне нужно сделать из изображений мувиКлипы и присвоить классам имена. В связи с этим на сцене будет "помойка". Можно ли сделать эту операцию кодом?

Старый 07.06.2010, 01:02
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
по 'сделать из изображений мувиКлипы', пощупай такой вариант:
Код AS1/AS2:
import flash.display.BitmapData;
 
//bmp0, bmp1 - linkage ID графики в библиотеке
var mc0:MovieClip = createImageMC("bmp0");
var mc1:MovieClip = createImageMC("bmp1");
mc1._y = 100;
 
/**
 * создает мувик с битмапом из библиотеки на борту
 * @param bmpID			linkage ID
 * @param smoothing		сгаживание битмапа (актуально, если предполагается трансформация мувика)
 * @return			movieClip
 */
function createImageMC(bmpID:String, smoothing:Boolean):MovieClip {
 
	var depth:Number = getNextHighestDepth();
	var name:String = 'clip'+depth;
 
	var mc:MovieClip = createEmptyMovieClip(name, depth);
	var bmd:BitmapData = BitmapData.loadBitmap(bmpID);
	mc.attachBitmap(bmd,0,null,smoothing);
 
	return mc;
}
насчет 'присвоить классам имена' не понятно ни разу, попробуй сформулировать иначе

Добавлено через 1 час 0 минут
да, это я почему-то решил, что речь о AS2..
если это AS3, то можно попробовать использовать библиотечные Id самих картинок, а в CellRenderer-е переписать методы вывода иконки

Код AS3:
var list:List = new List();
list.setStyle("cellRenderer", MyCellRenderer);
addChild(list);
//bmp0, bmp1 - классы графики в библиотеке
list.addItem( { label:"first", icon: bmp0 } );
list.addItem( { label:"second", icon: bmp1 } );
Код AS3:
public class MyCellRenderer extends CellRenderer
{
 
	override protected function drawIcon () : void
	{
		var iconClass:Class = data.icon as Class;
		var icon:Bitmap = new Bitmap(new iconClass(0, 0));
		addChild(icon);
 
	}
}
правда в этом примере лайблы оказываются не на месте,
надо подумать и о них, видимо в drawLayout, или еще где- сходу и не поймешь, желания ковыряться тоже никаго (не пользуюсь этим добром)

за что мы все так горячо и любим 'родные' компоненты, так это все эти удобства настройки, ну за некапризность тоже, канеш


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

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

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


 


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


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