forked from: wonderflでのAddChildAtで大きいインデックス指定

by vasari forked from wonderflでのAddChildAtで大きいインデックス指定 (diff: 1)
 wonderflでProgression4をいろいろ試してる最中なんですが
 大きいインデックス番号から先に指定すると止まってしまうのですが
 wonderfl環境でのバグ的な話ですかね、、、
 
追記
どうやらドキュメントクラスがCastDocumentを継承していないとダメなようでした。
(詳しい仕組みは僕にはちょっと分からないのですが、、、)
継承した場合では(ローカル環境で確認)インデックス位置を飛ばして指定することも可能。
なお、wonderflではCastDocumentのatReadyが動作していないようで止まってしまいます。
♥0 | Line 63 | Modified 2010-01-31 02:33:50 | MIT License
play

ActionScript3 source code

/**
 * Copyright vasari ( http://wonderfl.net/user/vasari )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/jLSQ
 */

// forked from hi_noon's wonderflでのAddChildAtで大きいインデックス指定
//
// wonderflでProgression4をいろいろ試してる最中なんですが
// 大きいインデックス番号から先に指定すると止まってしまうのですが
// wonderfl環境でのバグ的な話ですかね、、、
// 
// 追記
// どうやらドキュメントクラスがCastDocumentを継承していないとダメなようでした。
// (詳しい仕組みは僕にはちょっと分からないのですが、、、)
// 継承した場合では(ローカル環境で確認)インデックス位置を飛ばして指定することも可能。
// なお、wonderflではCastDocumentのatReadyが動作していないようで止まってしまいます。
// 
package {
	import flash.display.*;
	import jp.progression.config.*;
	import jp.progression.debug.*;
	import jp.progression.*;
	
    public class FlashTest extends Sprite {
        
        public var manager:Progression;
        
        public function FlashTest() {
			Progression.initialize( new BasicAppConfig() );
            manager = new Progression( "index", stage, IndexScene );
            
            //Debugger.addTarget( manager );
                        
            manager.goto( manager.root.sceneId );
        }
    }
}
import jp.progression.casts.*;
import jp.progression.commands.display.*;
import jp.progression.commands.lists.*;
import jp.progression.commands.net.*;
import jp.progression.commands.tweens.*;
import jp.progression.commands.*;
import jp.progression.data.*;
import jp.progression.events.*;
import jp.progression.scenes.*;


class IndexScene extends SceneObject {
	private var _sp1:TestSprite = new TestSprite("0x00DDDDDD");
	private var _sp2:TestSprite = new TestSprite("0x00BBBBBB");
	private var _sp3:TestSprite = new TestSprite("0x00999999");
	public function IndexScene() {
	}
	
	protected override function atSceneLoad():void {
		addCommand(
			[
		    new Prop(_sp1,{x:stage.stageWidth/2-_sp1.width/2, y:stage.stageHeight/2-_sp1.height/2}),
		    new Prop(_sp2,{x:stage.stageWidth/2-_sp2.width/2+20, y:stage.stageHeight/2-_sp2.height/2+20}),
		    new Prop(_sp3,{x:stage.stageWidth/2-_sp3.width/2+40, y:stage.stageHeight/2-_sp3.height/2+40}),
		    ],
		    
		    //これは大丈夫だけど
		    new AddChildAt(container, _sp1, 0),
		    new Wait(.5),
		    new AddChildAt(container, _sp2, 1),
		    new Wait(.5),
		    new AddChildAt(container, _sp3, 2),
		    new Wait(1),
		    
		    new RemoveAllChildren(container),
		    new Wait(1),
		    
			//インデックス飛ばして表示するのはダメ??
		    new AddChildAt(container, _sp1, 0),
		    new Wait(.5),
		    new AddChildAt(container, _sp2, 2),
		    new Wait(.5),
		    new AddChildAt(container, _sp3, 1),
		    new Wait(.5)
		);
	}
	
}

class TestSprite extends CastSprite {
    public var color:uint = 0x00DDDDDD;
    public function TestSprite(initObject:Object = null):void {
        super(initObject);
        if(initObject) color = uint(initObject);
		graphics.beginFill(color);
		graphics.drawRect(0, 0, 200, 200);
		graphics.endFill();
    }
}