| 32 | | //m_parameters.oelogUrl = "http://dic.nicovideo.jp/oelog/130710"; |
|---|
| 33 | | //m_parameters.oelogUrl = "http://dic.nicovideo.jp/oelog/131293"; |
|---|
| 34 | | //m_parameters.baseImgUrl = "http://dic.nicovideo.jp/oekaki_layers/130844"; |
|---|
| 35 | | //m_parameters.baseImgInfoUrl = "http://dic.nicovideo.jp/oekaki_info/130844"; |
|---|
| 36 | | |
|---|
| 37 | | //m_parameters.oelogUrl = "http://dic.nicovideo.jp/oelog/28741"; |
|---|
| 38 | | //m_parameters.baseImgUrl = "http://dic.nicovideo.jp/oekaki_layers/28654"; |
|---|
| 39 | | //m_parameters.baseImgInfoUrl = "http://dic.nicovideo.jp/oekaki_info/28654"; |
|---|
| 40 | | |
|---|
| 41 | | private function init(event:FlexEvent):void |
|---|
| 42 | | { |
|---|
| 43 | | versionLabel.text = Painter.PAINTER_VERSION_STRING; |
|---|
| 44 | | m_parameters = parameters; |
|---|
| 45 | | m_parameters.oelogUrl = "http://dic.nicovideo.jp/oelog/28778"; |
|---|
| 46 | | var loader:URLLoader = new URLLoader(); |
|---|
| 47 | | addErrorHandlers(loader); |
|---|
| 48 | | loader.addEventListener(Event.COMPLETE, loadLogBytes); |
|---|
| 49 | | loader.dataFormat = URLLoaderDataFormat.BINARY; |
|---|
| 50 | | loader.load(new URLRequest(m_parameters.oelogUrl)); |
|---|
| 51 | | } |
|---|
| 52 | | |
|---|
| 53 | | private function loadLogBytes(event:Event):void |
|---|
| | 34 | private function onApplicationComplete(event:FlexEvent):void |
|---|
| | 35 | { |
|---|
| | 36 | var appDir:File = File.applicationDirectory; |
|---|
| | 37 | var config:File = appDir.resolvePath("config.xml"); |
|---|
| | 38 | var stream:FileStream = new FileStream(); |
|---|
| | 39 | try { |
|---|
| | 40 | stream.open(config, FileMode.READ); |
|---|
| | 41 | m_params = XML(stream.readUTFBytes(config.size)).player; |
|---|
| | 42 | } |
|---|
| | 43 | catch (e:Error) { |
|---|
| | 44 | Alert.show(e.message); |
|---|
| | 45 | } |
|---|
| | 46 | finally { |
|---|
| | 47 | stream.close(); |
|---|
| | 48 | } |
|---|
| | 49 | if (m_params.file.@enabled == "true") { |
|---|
| | 50 | var log:File = appDir.resolvePath(String(m_params.file)); |
|---|
| | 51 | try { |
|---|
| | 52 | stream.open(log, FileMode.READ); |
|---|
| | 53 | var decoder:Base64Decoder = new Base64Decoder(); |
|---|
| | 54 | decoder.decode(stream.readUTFBytes(log.size)); |
|---|
| | 55 | var bytes:ByteArray = decoder.toByteArray(); |
|---|
| | 56 | bytes.endian = Endian.BIG_ENDIAN; |
|---|
| | 57 | bytes.inflate(); |
|---|
| | 58 | m_data = bytes.readObject(); |
|---|
| | 59 | createPlayer(); |
|---|
| | 60 | start(); |
|---|
| | 61 | } |
|---|
| | 62 | catch (e:Error) { |
|---|
| | 63 | Alert.show(e.message); |
|---|
| | 64 | } |
|---|
| | 65 | finally { |
|---|
| | 66 | stream.close(); |
|---|
| | 67 | } |
|---|
| | 68 | } |
|---|
| | 69 | else { |
|---|
| | 70 | var loader:URLLoader = new URLLoader(); |
|---|
| | 71 | var uri:String = m_params.uri.data + "/" + m_params.id; |
|---|
| | 72 | addLoaderEvents(loader, onLoadDataFromHTTP); |
|---|
| | 73 | loader.dataFormat = URLLoaderDataFormat.BINARY; |
|---|
| | 74 | loader.load(new URLRequest(uri)); |
|---|
| | 75 | } |
|---|
| | 76 | } |
|---|
| | 77 | |
|---|
| | 78 | private function onLoadDataFromHTTP(event:Event):void |
|---|
| 77 | | if (m_parameters.baseImgUrl) { |
|---|
| 78 | | var l:Loader = new Loader(); |
|---|
| 79 | | addErrorHandlers(l.contentLoaderInfo); |
|---|
| 80 | | l.contentLoaderInfo.addEventListener(Event.COMPLETE, loadLayerImage); |
|---|
| 81 | | l.load(new URLRequest(m_parameters.baseImgUrl)); |
|---|
| | 103 | if (int(m_params.base) > 0) { |
|---|
| | 104 | var newLoader:Loader = new Loader(); |
|---|
| | 105 | var uri:String = m_params.uri.layer + "/" + m_params.base; |
|---|
| | 106 | addLoaderEvents(newLoader.contentLoaderInfo, onLoadLayers); |
|---|
| | 107 | newLoader.load(new URLRequest(uri)); |
|---|
| | 124 | private function createPlayer():void |
|---|
| | 125 | { |
|---|
| | 126 | m_player = Player.create(m_data); |
|---|
| | 127 | m_player.speed = speedSlider.value; |
|---|
| | 128 | m_player.addEventListener(PlayerEvent.FINISHED, onPlayerFinished); |
|---|
| | 129 | m_player.addEventListener(PlayerEvent.UPDATED, onPlayerUpdate); |
|---|
| | 130 | progress.maximum = m_player.count; |
|---|
| | 131 | height += m_player.height + canvasGroup.x; |
|---|
| | 132 | canvasGroup.height = m_player.height; |
|---|
| | 133 | canvasGroup.x = (canvasGroup.width - m_player.width) >> 1; |
|---|
| | 134 | } |
|---|
| | 135 | |
|---|
| 107 | | removeErrorHandlers(EventDispatcher(event.target)); |
|---|
| 108 | | trace(event); |
|---|
| 109 | | } |
|---|
| 110 | | |
|---|
| 111 | | private function update(event:PlayerEvent):void |
|---|
| | 144 | removeLoaderEvents(EventDispatcher(event.target)); |
|---|
| | 145 | Alert.show(event.text); |
|---|
| | 146 | } |
|---|
| | 147 | |
|---|
| | 148 | private function addLoaderEvents(ed:EventDispatcher, onComplete:Function):void |
|---|
| | 149 | { |
|---|
| | 150 | ed.addEventListener(IOErrorEvent.IO_ERROR, handleIOError); |
|---|
| | 151 | ed.addEventListener(SecurityErrorEvent.SECURITY_ERROR, handleSecurityError); |
|---|
| | 152 | ed.addEventListener(Event.COMPLETE, onComplete); |
|---|
| | 153 | } |
|---|
| | 154 | |
|---|
| | 155 | private function removeLoaderEvents(ed:EventDispatcher, onComplete:Function = null):void |
|---|
| | 156 | { |
|---|
| | 157 | ed.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); |
|---|
| | 158 | ed.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, handleSecurityError); |
|---|
| | 159 | if (onComplete != null) |
|---|
| | 160 | ed.removeEventListener(Event.COMPLETE, onComplete); |
|---|
| | 161 | } |
|---|
| | 162 | |
|---|
| | 163 | private function onPlayerUpdate(event:PlayerEvent):void |
|---|
| 147 | | private function loadAndResizeWindow():void |
|---|
| 148 | | { |
|---|
| 149 | | m_player = Player.create(m_data); |
|---|
| 150 | | m_player.speed = 500; |
|---|
| 151 | | m_player.addEventListener(PlayerEvent.FINISHED, finished); |
|---|
| 152 | | m_player.addEventListener(PlayerEvent.UPDATED, update); |
|---|
| 153 | | progress.maximum = m_player.count; |
|---|
| 154 | | height += m_player.height + canvasGroup.x; |
|---|
| 155 | | canvasGroup.height = m_player.height; |
|---|
| 156 | | canvasGroup.x = (canvasGroup.width - m_player.width) >> 1; |
|---|
| 157 | | } |
|---|
| 158 | | |
|---|
| 196 | | <s:Button x="10" y="10" label="再生" id="playButton" enabled.playing="true" enabled.loaded="false" click.stopped="play(event)" click.playing="stop(event)" click.finished="play(event)" label.playing="停止"/> |
|---|
| 197 | | <s:HSlider width="273" height="12" x="88" y="14" id="speedSlider" liveDragging.loaded="false" minimum="1" maximum="500" stepSize="20" change="updateSpeed(event)" enabled.loaded="false"/> |
|---|
| 198 | | <s:Label x="369" y="10" width="117" height="21" id="versionLabel" fontSize="18" verticalAlign.loaded="middle" textAlign="right"/> |
|---|
| | 224 | <s:Button x="10" y="10" label="再生" id="playButton" enabled.playing="true" enabled.loaded="false" click.stopped="onPlayerPlay(event)" click.playing="onPlayerStop(event)" click.finished="onPlayerPlay(event)" label.playing="停止"/> |
|---|
| | 225 | <s:HSlider width="273" height="12" x="88" y="14" id="speedSlider" liveDragging.loaded="false" minimum="1" maximum="500" stepSize="20" value="20" change="onUpdateSpeed(event)" enabled.loaded="false"/> |
|---|
| | 226 | <s:Label x="369" y="10" width="117" height="21" id="versionLabel" fontSize="18" verticalAlign.loaded="middle" textAlign="right" text="{Painter.PAINTER_VERSION_STRING}"/> |
|---|