Home > Archives > 2009-02

2009-02

MacでProgression3.1.42を使って複数のCastをAddChildしてみると02

前回のエラーがよくわからないのだけど、とりあえずコレだとパブリッシュできたのでメモしとく。

	private var cast_num:Number = 100;
	private var cast_array:Array = new Array();
 
	/**
	 * コンストラクタ
	*/
	public function IndexScene() {
		// ブラウザ同期時に出力したいタイトルを設定します。
		title = "test";
		for (var i:uint = 0; i <= cast_num; i++) {
			var cast:CastMovieClip = new CastMovieClip();
			cast_array.push(cast);
		}
	}
 
	/**
	 * シーン移動時に目的地がシーンオブジェクト自身もしくは子階層だった場合に、階層が変更された瞬間に送出されます。
	 * このイベント処理の実行中には、addCommand() メソッド、及び insertCommand() メソッドによるコマンドの同期処理が行えます。
	 */
	protected override function _onLoad():void {
		// 実行したいコマンドを登録します。
		addCommand(
			new Trace("Start"),
			function ():void {
				var commandList:Array = new Array();
				for (var i:uint = 0; i <= cast_num; i++) {
					commandList.push(new AddChild(progression.container, cast_array[i]));
				}
				this.parent.insertCommand(
					commandList
				);
			},
			new Trace("Complete")
		);
	}

_onLoadのaddCommandだけど

	protected override function _onLoad():void {
		// 実行したいコマンドを登録します。
		addCommand(
			new Trace("Start"),
			function ():void {				
				for (var i:uint = 0; i <= cast_num; i++) {
					this.parent.insertCommand(
						new AddChild(progression.container, cast_array[i])
					);
				};
			},
			new Trace("Complete")
		);
	}

でもうまくいきそうだけど、前回と同じスタックオーバーフローのエラーがでた。
なので配列に一度つっこんでinsertCommandへって方法をとってます。
違いがよくわからず消化不良のまま・・・orz

IndexScene.as http://www.atama-switch.net/progression/test02/IndexScene.as

MacでProgression3.1.42を使って複数のCastをAddChildしてみると

下記のソースでエラーがでちゃうんだけど、自分の環境だけなのかな・・・?
20個以上のCastをAddChildしてくだけのソース。

 
	private var cast01_mc:CastMovieClip;
	private var cast02_mc:CastMovieClip;
	private var cast03_mc:CastMovieClip;
	・
	・
	・
	private var cast20_mc:CastMovieClip;
 
	public function IndexScene() {
		// ブラウザ同期時に出力したいタイトルを設定します。
		title = "test";
 
		cast01_mc = new CastMovieClip();
		cast02_mc = new CastMovieClip();
		cast03_mc = new CastMovieClip();
		・
		・
		・
		cast20_mc = new CastMovieClip();
	}
 
	protected override function _onLoad():void {
		// 実行したいコマンドを登録します。
		addCommand(
			new AddChild( progression.container, cast01_mc),
			new AddChild( progression.container, cast02_mc),
			new AddChild( progression.container, cast03_mc),
			・
			・
			・
			new AddChild( progression.container, cast20_mc),
			new Trace("Complete")
		);
	}

Windows環境(CS3)ではパブリッシュ&ブラウザ動作OKなんだけど・・・・
Win環境でパブリッシュしたswfをMac Firefox3(FlashPlayer10)で確認するとスタックオーバーフローのエラーがでてしまう。
Mac環境(CS3)ではパブリッシュ時にエラーでて失敗してしまう。

同じ様な状況になっている人いませんかー?

2009/02/26 追記
2台のMacで確認したけど、AddChildするCastMovieClipの数が20個でエラーでるMacと40個以上でエラーがでるMacがあって再現条件がわからない・・・・うーん。

IndexScene.as http://www.atama-switch.net/progression/test/IndexScene.as

Home > Archives > 2009-02

Search
Feeds
Meta
Link
写真素材 ストックフォトの定額制ペイレスイメージズ

Return to page top