Tag { Progression } 一覧

[FDT4] ProgressionプロジェクトテンプレートをFDT4.2用にアップデート

Category:{ FDT, Progression }  Tag:{, , , , } Comments:{ 3 Comments }
Posted:{ 2011.02.20 04:10:08 }

FDT4.2 でプロジェクトテンプレートに新しい機能が追加されたので、
Progressionプロジェクトテンプレートをアップデートし、
FDT.jp に利用方法の記事を書きました

ソースは Spark にアップしてあるほか、僕のGitHubにも上げてあります。

使ってみてバグなどありましたら@itozまでご報告いただける足り難いです。m(_ _)m

[Progression] テキストフィールドに文字を1つづつ追加/削除するコマンドリスト

Category:{ Progression }  Tag:{, , } Comments:{ No Comments }
Posted:{ 2011.02.12 04:30:39 }

下記2つの Progression 用のコマンドリストクラスを作成しました。

TextAddAnimationList クラス

 テキストフィールドに文字を1文字づつ “追加” するアニメーションをするコマンドリスト。

TextCutAnimationList クラス

 テキストフィールドの文字を1文字づつ “削除” するアニメーションをするコマンドリスト。

いずれも、スピードなど調整が可能です。

ダウンロード

github で公開しています。
TextAddAnimationList.as
TextCutAnimationList.as

サンプルコード

上記 swf のコードをサンプルとして上げておきます。
src/com/romatica/sample/Test_TextAddandCutAnimationList.as

使い方

サンプルコードを見て頂ければ分かると思うのですが、
ざっくり解説。
ちょっとデフォで設定する項目が煩雑な気もするので、
もっと良いやり方あったら誰か教えてー。

1
2
3
4
5
6
7
8
9
10
11
12
13
//テキストを1文字づつ追加する
new TextAddAnimationList(null
        ,_textField        /*対象のテキストフィールド*/
        ,"hogehoge"     /*表示したい文字*/
        ,0.03                /*追加スピード(秒)※省略可*/
        ,_texFormat     /*適用したいテキストフォーマット※省略可*/
).execute();
 
//テキストを1文字づつ削除する
new TextCutAnimation(null
        , _textField    /*対象のテキストフィールド*/
        ,0.01       /*削除スピード(秒)※省略可*/
).execute();

バグなど発見しましたら、教えていただけると助かります。

[FDT4] Progression(4.0.22) プロジェクトテンプレート

Category:{ FDT, Progression }  Tag:{, , } Comments:{ No Comments }
Posted:{ 2010.11.05 09:53:52 }

FDT用 の プログレッション(4.0.22) プロジェクトテンプレートを作成し、スパークにコミットしたので、fdt.jpに利用方法などのエントリを書きました。

fdt.jp » Progression(4.0.22)用プロジェクトテンプレート

デフォルトで Compiler Argument が設定されているので設定後すぐに、デバッグビルドが出来るようになっています。

当サイトにアップしてある過去のバーションは取り急ぎそのままにしておきますが、今後Updateはsparkの方で行っていこうと思います。

[memo][progression4] コマンドでXMLを読み込む

Category:{ Progression }  Tag:{, } Comments:{ No Comments }
Posted:{ 2010.10.29 01:32:41 }

Progression4のコマンドで、XMLを読み込んでメンバ変数に入れる、
ってそれだけのメモ。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var _xmlURI:String="hoge.xml";
var _xml:XML;
//〜略〜
	addCommand(
		new LoadURL( new URLRequest( _xmlURL ))
		, function():void{
			_xml = new XML(this.latestData);
		}
		, function ():void{
			_startParse( _xml) ;
		}
	);
//〜略〜
private function _parse(xml:XML):void{
	//パース処理など
}

ロード系のコマンドの後にlatestDataに値が入ってくるのがポイント。
getResourceById()でもいい。

参考リンク

memo.393 » Blog Archive » [AS]progression4 Load系コマンド(LoadURLとかLoadSoundとか)で読み込んだデータをインスタンス変数に参照させて取り扱うときの注意

[Progression4] 特定のシーン以下でディープリンクを同期させない

Category:{ Progression }  Tag:{, } Comments:{ No Comments }
Posted:{ 2010.09.19 09:05:50 }

(なかなかレアケースかもですが)
Progressionでディープリンクを有効にし、URL同期したいんだけど、
有るシーン以下では同期させたくない!

なんて場合の方法です。

先日twetterで@alumican_net さんや @soundkitchen さんが「SWFAddressの値を偽装すればいいんじゃね?」的な事をおっしゃていたのですが、
「あ、なんか俺には無理そうw」と思い、放置していたのです。

が、wonderfl,jsdo.it Meetup #1@nium さんに直接質問した所「もう一個Progressionインスタンス作ってsync=falseにすればいいですよ」と教えていただきましたー。

サンプル

なるほどそれならできそうだ。と思って作ったサンプルはこちら
SCENE1以下のページは常にURLがscene1になります

実装ポイント

IndexSceneクラスの中で普通に「Scene1クラス(SceneObject)」を作って、
それをProgressionインスタンスコンストラクタ引数に渡して、syncをfalseにします。
(これをシーン1のIndexクラスとします)

1
2
3
//IndexScene.as
_scene1_Index = new Progression( "scene1", container, Scene1 );
_scene1_Index.sync = false;

Scene1クラスのコンストラクタで、「シーン1用のindexSceneクラス」を作ります。
atSceneLoadで、「シーン1のIndexScene」に遷移させ、
atSceneUnloadで、「シーン1のIndex状態」に戻してます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//Scene1.as
  public function Scene1( name:String = null, initObject:Object = null ) {
		super( name, initObject );
		title = "scene1";
		_scene1_IndexScene = new Scene1_IndexScene( "scene1_indexScene", {"title":"scene1_indexScene"} );
		addScene( _scene1_IndexScene );
	}
 
	protected override function atSceneLoad():void {
		addCommand(
			new Goto(new SceneId("/scene1/scene1_indexScene"))
		);
	}
 
	protected override function atSceneUnload():void{
		addCommand( 
			new Goto(new SceneId("/scene1"))
		);
	}

データ一式

データ一式をアップしておきます

以上、もっと効率のよい作り方があるかもしれないので誰かしってたら教えてぇ(;´Д`)

[FDT] ProgressionプロジェクトテンプレートVer2.0

Category:{ FDT, Progression }  Tag:{, } Comments:{ No Comments }
Posted:{ 2010.06.06 05:57:59 }

“FDT”の、Progressionプロジェクトテンプレートを修正し、
Ver2としてアップしました。

DOWNLOADは下記から

利用方法

こちらのエントリーの利用方法をご参照下さい

変更内容

リリースビルド時、Debugクラスを空クラスに上書きしswfの容量を減らす。
※前回のテンプレートに対し@matsumosさまにReply頂きまして、リリースビルド時の挙動を教えていただきました。

具体的にはANTで、compilerargumentsで空クラスにパスを通しています。
※thx! @cellfusion

1
2
3
4
5
6
7
8
9
10
11
<property name="release.path" value="${basedir}/../lib/ProjectRelease" />
<!--略-->
<fdt.launch.application 
	projectname="${flashproject.name}" 
	mainclass="${src.dir}/Index.as"
	debug="false" 
	target="${release.dir}/index.swf" 
	startswf="false"
	compilerarguments="-define=CONFIG::Debug,false -define+=CONFIG::Release,true
				-sp ${release.path}"
/>

また、下記の表通り、僅かではありますがリリースビルドswf容量が減ります。
※thx! 検証@fumix

ビルド状態 空クラス上書き 容量
デバッグ なし 約105kb
デバッグ あり 約90kb
リリース なし 約64kb
リリース あり 約59kb

これでまた一つ、本家Progressionの挙動に近づけました(・∀・*)
FDTでもやろうと思えば結構できるもんです。

[memo][Progression4]ディープリンクに存在しないシーン名を指定した時のエラー処理

Category:{ actionscript, Progression }  Tag:{, } Comments:{ No Comments }
Posted:{ 2010.05.18 12:55:24 }

Progression小ネタメモ。

ディープリンクが動作する状態で、URLシャープ以下に、存在しないシーン名を指定された時、
そのままだと動作が止まってしまう。
※ex) ” http://www.○○○.com/#/存在しないシーン名 “など

その場合、ProcessEventクラスのPROCESS_ERRORで判断できるので、対策をとる。
ex)
「強制的にindexシーンに移動させる」
「Not Foundシーンを用意しそこに移動させる」
など

1
2
3
4
5
6
7
8
9
10
11
12
//
//IndexScene.as
//
protected override function atSceneLoad() : void {
	manager.addEventListener(ProcessEvent.PROCESS_ERROR, processError );
}
 
private function processError(event : ProcessEvent) : void {			
	//trace("ERROR");
	// 最初のシーンに移動します。
	manager.goto(new SceneId( "/index" ));
}

ProssesEventクラス

SceneManager オブジェクトが処理を実行、完了、中断、等を行った場合に ProcessEvent オブジェクトが送出されます。 通常は、Progression オブジェクトを経由してイベントを受け取ります。

[FDT4 Milestone2] Progressionプロジェクトテンプレート作りました。

Category:{ FDT, Progression }  Tag:{, , } Comments:{ No Comments }
Posted:{ 2010.05.13 10:11:39 }

FDT4 milestone2 Progression

個人的に最強のFlash制作環境”FDT”。
先日、最新β版”FDT4 Milestone2“がリリースされました!。
(ダウンロードはこちらから、30日間無料で使用できます。[win/mac])

“Project Template” 機能!

いくつか新機能が追加されていますが、そのうちの一つ”Project Template”について。

これつまりは「プロジェクトのディレクトリ構造」のテンプレート。
デフォルトでいくつか用意されていますが、自作もできます。

ということで、みんな大好きProgressionのテンプレートを作りました(・∀・) 。
ANTを使用して「デバッグ/リリースビルド」を書き出しわける機能も付いています!。
(追記 2010.05.28)デバッグリリースビルドを修正したバージョンに置き換えました。
詳細はこのエントリーを御覧下さい

Downlaodは下記ボタンから。

(続きを読む…)

[memo][Progression]「SWFAddress」のディープリンクの動作

Category:{ flash, Progression }  Tag:{ } Comments:{ No Comments }
Posted:{ 2010.05.09 09:09:15 }

Progressionでハマったところメモ。

ハマったところ

SWF配置時に (自由なレイアウトにしたかったため)、
「progression.js」の「embedSWF()」メソッドを使用せずに、
「SWFObject」で直接配置したところ、
SWFAddressのディープリンクが動作しなかった。

原因

SWFAddressは”id”と”name”属性を必要とするので、
SWFObjectで配置時に、それらパラメータを渡さなければいけない。

1
2
3
4
<!--第8引数にid nameを渡す-->
<script type="text/javascript">
swfobject.embedSWF("preloader.swf", "content", "950", "700", "9.0.45", {},{},{id:"content",name:'content'});
</script>

nium様にもReply頂きまして、ProgressionとSWFAddressには依存関係が無いとのことで、これは単純に、SWFAddressとSWFObjectの使い方の問題でした。
つまりprogression.embedSWF()では、idとnameを自動で割り振ってくれているのですね。

参考
Flashのフレームワーク、Progression(プログレッション)を使った事のある、Web制作者さんに質問です。 – 人力検索はてな
↑こちらのClockMaker様の回答を参考にさせて頂きました。なんと丁寧な回答!

※ちなみに、idは渡さなくても動きました。また、name属性はどんな文字列を指定しても動きました。

[memo][Progression]「ClipMenuBoardItems が定義されていません。」エラー

Category:{ flash, Progression }  Tag:{ } Comments:{ No Comments }
Posted:{ 2010.05.09 08:40:43 }

Progressionでハマったところメモ。

ハマったところ

「ClipMenuBoardItems が定義されていません。」というエラー が出る。

原因

index.swfとpreloar.swfの書き出しバージョンが違う。

そんなオチ。( ´д`; )
まぁ、Progressonの問題ではないです。はい。

progiressionでバージョン9で書き出したファイル一式を、
ごそっとFDTのProjectフォルダに入れて、
バージョン10でindexのみパブリッシュしてたので、こんな罠におちいった。

別の開発環境でパブリッシュする場合は、indexとpreloaderを、
必ず同じバージョンで書き出すように注意(Antで設定するとか)。

参考
[AS]エラーprogression「Error #1065: 変数 ContextMenuClipboardItems は定義されていません。」の原因


レンタルサーバー豆知識