![]() |
|
||||||||||
|
|
|
|||||
|
Доброго время суток.
В своей работе имитирую динамическую библиотеку. package wa.games.tanks.display.skins.classes { import flash.display.MovieClip; import flash.display.Sprite; import flash.net.URLRequest; import flash.errors.IOError; import flash.events.IOErrorEvent; import flash.events.Event; import flash.display.Loader; import flash.display.LoaderInfo; import flash.display.Bitmap; import flash.display.BitmapData; public class SkinLogistic extends Sprite { private var skinlib:Array; public function SkinLogistic() { skinlib = new Array(); } public function addSkin(id:String, url:String):void { var imageLoader:Loader = new Loader(); imageLoader.load(new URLRequest(url + "?id=" + id)); skinlib[id] = new Object(); skinlib[id].status = 'LOAD'; skinlib[id].resource = imageLoader; skinlib[id].resource.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete); skinlib[id].resource.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onLoadError); } public function verify(property:String = null):String { switch (property) { case "loading": { for ( var temp:* in skinlib ) { if (skinlib[temp].status == 'LOAD') { return 'LOAD'; break; } } return 'COMPLETE'; } break; } return 'NaN'; } public function export(id:String, type:String = null):* { switch (type) { case "bitmap": { return skinlib[id].resource.content; } break; case "sprite": { var sp:Sprite = new Sprite(); sp.addChild(skinlib[id].resource); return sp; } break; default: { return skinlib[id].resource; } break; } } public function get status():String { return STATUS; } private function onLoadComplete(e:*):void { var id:String = e.target.parameters.id; skinlib[id].status = 'ACTIVE'; } private function onLoadError(e:*):void { var id:String = e.target.parameters.id; skinlib[id].status = e.toString(); } } } var skin:SkinLogistic = new SkinLogistic(); skin.addSkin('LineBack', 'sources/lineback.png') var line1:* = skin.export('LineBack','sprite'); var line2:* = skin.export('LineBack','sprite'); Помогите пожалуйста. Может что не понятно написал, комментируйте уточню.
__________________
return this... |
|
|||||
|
Modus ponens
|
Я задумку не понял. Одно могу сказать наверняка - switch с одним case выглядит очень странно. И еще более странно выглядит break после return.
__________________
Hell is the possibility of sanity |
|
|||||
|
Код вообще ужасен.
line1 и line2 не могут ссылаться на один объект, если верить вашему коду - это два разных спрайта. line2 по идее содержит лоадер, который вы пихнули ранее. Добавлено через 2 минуты Не хотите весь скин пихнуть в свфку и забирать оттуда по getDefinition?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|