※現在、「wonderfl build flash online」求人コンテンツ制作に関してのアンケートを実施中です!みなさまのお力添えを頂いて、続々とアンケート結果が集まっていますが、まだまだ募集しております。ご協力のほど、どうぞよろしくお願いいたします!

wonderfl運営事務局
→アンケートページ(※ログインしてからお答えいただけるようになっています。)

 notice: Flash editor updated! Join the development! Thanks to MiniBuilder


forked from : northprint's Progression Command Test [diff(44)]

FORKED
  1. // forked from northprint's forked from: Progression Command Test
  2. // forked from northprint's Progression Command Test
  3. // write as3 code here..
  4. // Progression 俺俺コマンド Test
  5. package {  
  6.     import flash.display.*;
  7.     import flash.events.Event  
  8.     import jp.progression.commands.*;
  9.     
  10.     public class Prog_test2 extends MovieClip{  
  11.         private var _sprite:Sprite;
  12.         public function Prog_test2(){ 
  13.             _sprite = new Sprite();
  14.             _sprite.x=stage.stageWidth/2;
  15.             _sprite.y=stage.stageHeight/2;
  16.             addChild(_sprite);
  17.             addEventListener(Event.ENTER_FRAME, enterframeHandler);
  18.  
  19.             var sList:SerialList = new SerialList();
  20.             sList.addCommand(
  21.                 new PlayMovie(_sprite, "http://narayama.heteml.jp/movie/P1020474.flv"400300)
  22.             );
  23.             sList.execute();  
  24.         }
  25.         private function enterframeHandler(e:Event):void{
  26.             _sprite.rotationX +=2;
  27.             _sprite.rotationY +=2;
  28.             _sprite.rotationZ +=2;
  29.         }
  30.     }
  31. }
  32. import jp.progression.commands.*;
  33. import jp.progression.core.commands.Command; 
  34. import flash.display.DisplayObjectContainer;  
  35. import flash.events.NetStatusEvent;  
  36. import flash.media.Video;  
  37. import flash.net.NetConnection;  
  38. import flash.net.NetStream;  
  39. class PlayMovie extends Command{  
  40.     private var _movieURL:String;
  41.     private var _movieWidth:uint;
  42.     private var _movieHeight:uint;
  43.     private var _connection:NetConnection;
  44.     private var _netStream:NetStream;
  45.     private var _obj:Object;
  46.     private var _movieObj:Video;  
  47.     private var _movieContainer:DisplayObjectContainer;
  48.     public function PlayMovie(container:DisplayObjectContainer = null, movieURL:String = null, movieWidth:int = 0, movieHeight:int = 0, initObject:Object = null ){
  49.         _movieURL = movieURL;
  50.         _movieWidth = movieWidth;
  51.         _movieHeight = movieHeight;
  52.         _movieContainer = container;
  53.         super( _execute, _interrupt, initObject );
  54.     }
  55.     //MOVIEの状態
  56.     private function onMovieProgress (event : NetStatusEvent):void {
  57.         if (event.info.code == "NetStream.Play.Stop"){
  58.             //ループ再生
  59.             _netStream.play(_movieURL);
  60.             //endExec();
  61.         }
  62.     }
  63.     //イニシャライズ処理
  64.     private function initStream():void {
  65.         _netStream = new NetStream(_connection);
  66.         _movieObj = new Video();
  67.         var customClient:Object = new Object();
  68.         _netStream.client = customClient;
  69.         //指定されたコンテナの表示リストに追加
  70.         _movieContainer.addChild(_movieObj);
  71.         //幅、高さ設定
  72.         _movieObj.width = _movieWidth;
  73.         _movieObj.height = _movieHeight;
  74.         _movieObj.x = (_movieWidth / 2) * -1;
  75.         _movieObj.y = (_movieHeight/ 2) * -1;
  76.         _movieObj.attachNetStream(_netStream);
  77.         //再生
  78.         _netStream.play(_movieURL);
  79.         _netStream.addEventListener(NetStatusEvent.NET_STATUS, onMovieProgress);
  80.         
  81.         executeComplete();
  82.     }
  83.     //終了処理 
  84.     private function endExec():void {
  85.         if (_movieObj) {
  86.             _movieContainer.removeChild(_movieObj);
  87.             _movieObj = null;
  88.             _netStream.close();
  89.             _netStream = null;
  90.             _connection = null;
  91.         }
  92.     }
  93.     private function _execute():void{
  94.         //長いムービーだとタイムアウトになるから
  95.         timeOut = 0;
  96.         //初期処理
  97.         _connection = new NetConnection();
  98.         _connection.connect(null);
  99.         initStream();
  100.     }      
  101.     private function _interrupt():void{
  102.         endExec();
  103.         // 中断処理を終了します
  104.         interruptComplete();
  105.     }
  106.     public override function clone():Command{
  107.         return new PlayMovie( _movieContainer,_movieURL,_movieWidth,_movieHeight,this );
  108.     }
  109.     
  110. }
noswf
Get Adobe Flash Player