![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jun 2010
Адрес: г. Майкоп, р. Адыгея
Сообщений: 27
|
1) Подскажите, как правильно импортировать PNG/GIF в SWF, а потом загрузить, чтобы эту картинку можно было потом использовать в качестве курсора: CursorManager.setCursor( ) ?
2) "Правильно" имеется ввиду - хранить в виде MovieClip или Bitmap? Вариант типа: не подходит. Мне нужно сделать именно загрузку картинки. У меня есть вот такой код: public var Loader_KDSLib :Loader; public var CursorClass :Class; ... var URL_KDSLib :URLRequest = new URLRequest( KDSLibSource ); Loader_KDSLib = new Loader(); Loader_KDSLib.load( URL_KDSLib ); Loader_KDSLib.contentLoaderInfo.addEventListener( Event.INIT, KDSLibINIT ); ... private function KDSLibINIT(event: Event):void{ CursorClass = Loader_KDSLib.contentLoaderInfo.applicationDomain.getDefinition("CursorArrowUpDoun") as Class; } ... CursorManager.setCursor( CursorClass ); //НА ЭТОЙ СТРОКЕ ОШИБКА: //ArgumentError: Error #1063: Несоответствие количества аргументов в CursorArrowUpDoun(). Ожидалось 2, получено 0. |
|
|||||
|
Регистрация: Jun 2010
Адрес: г. Майкоп, р. Адыгея
Сообщений: 27
|
Ничего не получается ...
![]() Пробовал так: var CursorClass :Class = KDSCore.Loader_KDSLib.contentLoaderInfo.applicationDomain.getDefinition("ImgCursor") as Class; CursorManager.setCursor( new CursorClass(0,0 ) ); //TypeError: Error #1034: Ошибка типа Coercion: невозможно преобразовать ImgCursor@d034b81 в Class. [Embed(source="../resource/KDSLib.swf", symbol="ImgCursor")] private var Cursor :Class; ... CursorManager.setCursor( Cursor ); А если сделать так, то ошибка: [Embed(source="../resource/KDSLib.swf", symbol="ImgCursor")] private var Cursor :Class; ... var CursorClass3 :* = new Cursor(); CursorManager.setCursor( CursorClass3 ); //TypeError: Error #1034: Ошибка типа Coercion: невозможно преобразовать kds_cmpts::CRoadHitArea_Cursor@d36e4c1 в Class. ![]() Как можно обойти все эти ошибки? P.S. Как оказалось, после небольших исследований, в данном случае CursorClass - это экземплят класса BitmapData. А теперь, КорДум, посмотри на конструктор BitmapData ... |
|
|||||
|
Регистрация: Jun 2010
Адрес: г. Майкоп, р. Адыгея
Сообщений: 27
|
Не понял к чему это ? ...
Если вы не видите в этом вопросе проблемы, то может покажете как можно загрузить из SWF PNG/GIF и установить эту картинку в качастве курсора мыши ? |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Криво там сделано - setCursor хочет класс (вот зачем ему блин класс?) в качестве параметра, но передать этому классу пару параметров, если этот класс экстендит битмапДата ему слабо. Т.е. PNG/GIF ему напрямую не передать.
Вот хак предлагают для этого http://stackoverflow.com/questions/4...ass-at-runtime идею хака и код поконкретнее писать сейчас времени нет, может позже, если не разберётесь.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Регистрация: Jun 2010
Адрес: г. Майкоп, р. Адыгея
Сообщений: 27
|
Цитата:
Вот переделал под свою задачу, если кому интересно: package kds_cmpts{ import flash.display.Bitmap; public class CLoadedCursorImg extends Bitmap{ public static var CursorData :Object; public function CLoadedCursorImg(){ super( new CursorData(0,0) ); } } } ... //ГДЕ-ТО ВНУТРИ ПРИЛОЖЕНИЯ: CLoadedCursorImg.CursorData = KDSCore.Loader_KDSLib.contentLoaderInfo.applicationDomain.getDefinition("CursorArrowLeftRight"); CursorManager.setCursor( CLoadedCursorImg ); //KDSCore - ЭТО КЛАСС В КОТОРОМ РЕАЛИЗОВАНА ЗАГРУЗКА SWF С РЕСУРСАМИ //Loader_KDSLib - ЭКЗЕМПЛЯР Loader, КОТОРЫЙ ОБЫКНОВЕННЫМ СПОСОБОМ ЗАГРУЖАЕТ SWF: Loader_KDSLib = new Loader(); Loader_KDSLib.load( "resource/KDSLib.swf" ); //И ВСЁ! БОЛЬШЕ НИЧЕГО ИНТЕРЕСНОГО В КЛАССЕ KDSCore НЕТ! ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:55. |
|
|
« Предыдущая тема | Следующая тема » |
|
|