CastSprite(CastMovieClip)の中から出発シーン(departedSceneId)の条件分岐をしてみる

出発シーン(departedSceneId)は、Progressionクラスのプロパティ。
SceneObjectからだと、progression.departedSceneIdでとれる。簡単。
CastSpriteからだと、ProgressionのIDを参照しなくちゃいけない。
ProgressionのIDはデフォルトのままだとindexなので、
getProgressionById("index").departedSceneIdでとれる。


CastSpriteをaddしてるシーンからシーンIDをinitObjectなどでもらっておく。
URL入力などで直接きた場合は、departedSceneIdがnullになって、
containsするとエラーになってしまう。
なので直前で分岐入れておく。


シーンIDは、equalsかcontainsで比較する!==とかじゃダメ!

	public class MyCastSprite extends CastSprite {
		//CastSpriteがaddされたシーンID
		private var _addedSceneId:SceneId;
		
		public function MyCastSprite( initObject:Object = null ) {
			super( initObject );
			//addされたシーンIDを取得
			_addedSceneId = initObject.addedSceneId;
		}

		protected override function _onCastAdded():void {
			if (getProgressionById("index").departedSceneId != null)
			{
				if (_addedSceneId.contains(getProgressionById("index").departedSceneId))
				{
					//子シーンから来た場合
					addCommand(
					
					);
				}
				else
				{
					//親シーンから来た場合
					addCommand(
						
					);
				}
			}
			else
			{
				//URLから直接きた場合
				addCommand(
				
				);
			}
		}
	}

※090731 12:22 スクリプト修正