CastButton用CastSpriteを作るといいと思う

| コメント(2) | トラックバック(0)
前のエントリで前面を全面と書いてずっと気づかなかったので凹んでいます。

で、またまたProgressionなんですが。

CastButtonのメソッドに_onCastAddedとかが無いからコマンドでCastSpriteと同じような出したり引っ込めたりの処理が書けないよーという場合。

CastButton用のCastSpriteを作って、sceneIdとか使うプロパティをsetterで渡しちゃって下さい!!

ってこんな方法でいいのだろうか?

ちなみにボタンの見た目はCastButtonの方で書いてると仮定して。
CastButton用のCastSpriteの例
package myproject.buttons{
	import jp.progression.casts.*;
	import jp.progression.commands.*;
	import jp.progression.events.*;
	import jp.progression.loader.*;
	import jp.progression.*;
	import jp.progression.scenes.*;
	
	public class MyButtonSprite extends CastSprite {
		
		private var _button:MyCastButton;←これがCastButton
		
		public function MyButtonSprite( initObject:Object = null ) {
			super( initObject );
			
			_button = new MyCastButton();
		}
		
		public function set sceneId(_sceneId:SceneId):void {
			_button.sceneId = _sceneId;←SceneIdをセットしてる
		}
		
		protected override function _onCastAdded():void {
			alpha = 0;
			addCommand(
				new AddChild(this,_button),
				//Tweenerでじわっと出す。
				new DoTweener(this, {alpha:1, time:1 } )
			);
		}

		protected override function _onCastRemoved():void {
			addCommand(
				new RemoveChild(this,_button)
			);
		}
	}
}


でもこれだけじゃ汎用性は無いので、ボタン毎にこれ作らなくても良い様に改造の必要はありますね。ボタンの見た目とかの設定もsetterで出来るようにすると良いと思います。
ちなみに
addCommand(
    new AddChild(progression.container, myCastButton),
    new DoTweener(myCastButton, {alpha:1, time:1 } )
);

ってシーンに書いても同じくじわっと出るのですが、Tweener動作中にボタンを触るとボタンが動作しなくなっちゃうのと、綺麗に書きたかったのでこの方法取ってます。

とりあえず本当にこんな方法でいいのか不安だ。
こうやって使う事を想定されているとは思うんだけど。

トラックバック(0)

トラックバックURL: http://www.northprint.net/mt5/mt-tb.cgi/106

コメント(2)

AS3自体初心者で、非常に参考になりました!
setterをそうやって使えば良いんですね。

自分も大分悩んだ挙句、以前こんなエントリーを書きました…凡用性の欠片もないですが。
http://www.gu-raphix.com/blog/2008/07/progression3-casteventcastmous.html

>guponex
いえいえ、私も初心者なので試行錯誤の連続です。。
こんなエントリでもお役にたてたようでなによりです。
これからも試行錯誤のエントリ上げていきますんで、ビシバシつっこみを入れていただけると嬉しいです。

追伸:ついったフォローさせていただきましたー

コメントする

このブログ記事について

このページは、northprintが2008年9月23日 16:37に書いたブログ記事です。

ひとつ前のブログ記事は「ProgressionのAddChildAt」です。

次のブログ記事は「Progression3でそうめんのThreadCommandを使う場合」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。