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

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

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


TALK
おや?stop中のgotoAndStopは効くのに、play中のgotoAndPlayは効かないぞ。
at 2009/08/23 23:44:50 by
stop状態から別のstop状態への移行は、Updateのみが呼び出される。
at 2009/08/24 00:08:21 by
stop状態で、現在の秒数へgotoAndStop()をおこなうと状態が変わらないにもかかわらずUpdateが呼び出される。
at 2009/08/24 00:16:01 by
onXxxParams系の意味がやっと分かったのでソースコードに追記
at 2009/08/24 00:40:10 by
上に書いた事項は最新バージョンで修正されているそうです。
at 2009/10/20 19:38:06 by
FORKED
  1. // forked from alumican_net's [BetweenAS3 Sample] OnXxxEvents
  2. /**
  3.  * onComplete, onPlay, onStop, onUpdate
  4.  * の呼び出しタイミングを検証します
  5.  * 
  6.  * addEventListener(TweenEvwnt.XXX, f);
  7.  * の場合もおそらく同じです
  8.  * 
  9.  * ちなみに、
  10.  * onPlayParams     に指定したデータが onPlay     の実行関数の引数として、
  11.  * onStopParams     に指定したデータが onStop     の実行関数の引数として、
  12.  * onUpdateParams   に指定したデータが onUpdate   の実行関数の引数として、
  13.  * onCompleteParams に指定したデータが onComplete の実行関数の引数として、
  14.  * それぞれ渡されます
  15.  * 
  16.  * 例)
  17.  * tween.onCompleteParams = ["hoge", 123];
  18.  * tween.onComplete = function(s:String, n:int):void
  19.  * {
  20.  *     trace(s, n); //hoge, 123 と表示される
  21.  * }
  22.  */
  23. package
  24. {
  25.     import flash.display.Sprite;
  26.     import flash.events.Event;
  27.     import flash.events.MouseEvent;
  28.     import com.bit101.components.*;
  29.     import org.libspark.betweenas3.BetweenAS3;
  30.     import org.libspark.betweenas3.tweens.ITween;
  31.     import org.libspark.betweenas3.events.TweenEvent;
  32.     
  33.     public class OnXxxEvents extends Sprite
  34.     {
  35.         private var _t:ITween;
  36.         
  37.         private var _slider:HUISlider;
  38.         
  39.         public function OnXxxEvents():void
  40.         {
  41.             Logger.initialize(this00465435);
  42.             
  43.             var box:Sprite = Box.create(this240150);
  44.             
  45.             _t = BetweenAS3.tween(box, { x:440 } );
  46.             
  47.             _t.onPlay     = function(...onPlayParams    ):void { Logger.trace("onPlay");                         };
  48.             _t.onStop     = function(...onStopParams    ):void { Logger.trace("      onStop");                   };
  49.             _t.onUpdate   = function(...onUpdateParams  ):void { Logger.trace("            onUpdate");           };
  50.             _t.onComplete = function(...onCompleteParams):void { Logger.trace("                    onComplete"); };
  51.             
  52.             //ui
  53.             new PushButton(this240320"play()", _play);
  54.             new PushButton(this350320"stop()", _stop);
  55.             new PushButton(this240350"gotoAndPlay(0.3)", _gotoAndPlay1);
  56.             new PushButton(this350350"gotoAndStop(0.3)", _gotoAndStop1);
  57.             new PushButton(this240380"gotoAndPlay(0.6)", _gotoAndPlay2);
  58.             new PushButton(this350380"gotoAndStop(0.6)", _gotoAndStop2);
  59.             new PushButton(this240410"togglePause()", _togglePause);
  60.             ( new CheckBox(this350415"stopOnComplete", _stopOnComplete) ).selected = _t.stopOnComplete = false;
  61.             _slider = new HUISlider(this10440"position", _position);
  62.             _slider.width   = 465;
  63.             _slider.maximum = _t.duration;
  64.             _t.addEventListener(TweenEvent.UPDATE, function():void { _slider.value = _t.position; } );
  65.         }
  66.         
  67.         private function _play(e:MouseEvent):void
  68.         {
  69.             _t.play();
  70.         }
  71.         
  72.         private function _stop(e:MouseEvent):void
  73.         {
  74.             _t.stop();
  75.         }
  76.         
  77.         private function _togglePause(e:MouseEvent):void
  78.         {
  79.             _t.togglePause();
  80.         }
  81.         
  82.         private function _gotoAndPlay1(e:MouseEvent):void
  83.         {
  84.             _t.gotoAndPlay(0.3);
  85.         }
  86.         
  87.         private function _gotoAndStop1(e:MouseEvent):void
  88.         {
  89.             _t.gotoAndStop(0.3);
  90.         }
  91.         
  92.         private function _gotoAndPlay2(e:MouseEvent):void
  93.         {
  94.             _t.gotoAndPlay(0.6);
  95.         }
  96.         
  97.         private function _gotoAndStop2(e:MouseEvent):void
  98.         {
  99.             _t.gotoAndStop(0.6);
  100.         }
  101.         
  102.         private function _stopOnComplete(e:MouseEvent):void
  103.         {
  104.             _t.stopOnComplete = !_t.stopOnComplete;
  105.         }
  106.         
  107.         private function _position(e:Event):void
  108.         {
  109.             _t.gotoAndStop(_slider.value);
  110.         }
  111.     }
  112. }
  113. import flash.display.*;
  114. import flash.text.*;
  115. /**
  116.  * Tweenターゲットの生成
  117.  */
  118. internal class Box
  119. {
  120.     static public function create(base:DisplayObjectContainer, x:Number, y:Number, color:uint = 0x000000):Sprite
  121.     {
  122.         var o:Sprite = base.addChild( new Sprite() ) as Sprite;
  123.         o.x = x;
  124.         o.y = y;
  125.         var g:Graphics = o.graphics;
  126.         g.beginFill(color);
  127.         g.drawRect(-10, -102020);
  128.         g.endFill();
  129.         return o;
  130.     }
  131. }
  132. /**
  133.  * ログ出力
  134.  */
  135. internal class Logger
  136. {
  137.     static private var _field:TextField;
  138.     static private var _index:uint;
  139.     
  140.     static public function initialize(base:DisplayObjectContainer, x:Number = 0, y:Number = 0, width:Number = 465, height:Number = 465):void
  141.     {
  142.         _field                   = new TextField();
  143.         _field.x                 = x;
  144.         _field.y                 = y;
  145.         _field.width             = width;
  146.         _field.height            = height;
  147.         _field.selectable        = false;
  148.         _field.defaultTextFormat = new TextFormat("MS GOTHIC");
  149.         
  150.         _index = 0;
  151.         
  152.         base.addChild(_field);
  153.     }
  154.     
  155.     static public function trace(...m):void
  156.     {
  157.         _field.text = ("    " + String(_index++)).substr(-55) + "  " + m.join(", ") + "\n" + _field.text;
  158.     }
  159.     
  160.     static public function clear(...m):void
  161.     {
  162.         _field.text = "";
  163.         _index = 0;
  164.     }
  165. }
noswf
Get Adobe Flash Player