Archive for { 2010.05 } 一覧

FDT 操作一発で “swfコンパイル”>”FTP”>”Firefoxでリロード表示”する方法

Category:{ FDT }  Tag:{, } Comments:{ No Comments }
Posted:{ 2010.05.29 04:11:41 }

FDTのANTを使用し操作一発で下記を実行する設定方法です!(・∀・)
・swfコンパイル
・FTPアップロード
・Firefoxで更新(リロード)表示

こちらのサイトを参考にさせて頂きました。
My workflow with ANT and FDT | base42.nl
スゴク良く出来たANTファイルがあるのでダウンロードおすすめします!
※それを見ながらこのエントリをみるとよりよくわかるかと。

[環境:MacOS10.6 / FDT4 Milestone2]

コンパイルする

これは普通に”fdt.launch.application”タスクで設定します。
以前のエントリーを参考下さい。
R o m a t i c A : Blog : Archive » FDTでANTを使って色々な処理を自動化!

FTPアップロードする

[1] JARを設定

FTPを機能させるためにまず、下記サイトからjarファイルをダウンロード。(2ファイル)
Rumbling BlogFDT, ANT and FTP
その2ファイルを、下記ディレクトリに設置。
/Applications/FDT***/plugins/org.apache.ant_***/bin/

[2] JARにパスを通す

FDTから、その2ファイルにパスを通します。
“Preferences” > “ANT” > “Runtime” > “Classpath” を開き”Add External JARs”で
さきほどのjarを選択し追加。
・commons-net-2.0/commons-net-2.0.jar
・jakarta-oro-2.0.8/jakarta-oro-2.0.8.jar

これでFTPが動作する環境が整いました!。

[3] FTPのANT記述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
	<ftp server="FTPホストアドレス"
		port="21"
		userid="FTP User Name"
		remotedir="/"
		password="FTP Password"
		depends="no" 
		passive="yes" 	
		binary="yes"
		verbose="yes"
		>
		<!--deployフォルダ以下すべてアップロード-->
		<fileset dir="${deploy.dir}" />
		<!--deployフォルダ以下にある全てのswfファイルをアップロード
		<fileset dir="${deploy.dir}" >
			<include name="*.swf" />
		</fileset>
		-->
	</ftp>

一部ftpプロパティの説明です。
remotedir:アップロード先ディレクトリ
depends : “yes”にすると、タイムスタンプが新しいファイルだけ転送する。
verbose : “yes”に設定された場合、 ファイルが転送される毎に情報を表示します。 デフォルトは”no”です。
その他のプロパティは下記サイトの下部に日本語説明があります。
Apache Ant User Manual FTP
※これみると他にも色々できそうですね!

これでANTでFTP出来るようになりました!(・∀・)

FireFoxを開き、リロードする

ANTから”fresno”を実行することで”MozRepl”を動作させ、FireFoxをリロードさせます。

[1] FireFox機能拡張”MozRepl”をインストール

Home – mozrepl – GitHub (コンソールを使ってFirefoxを操作する機能拡張だそうです)
・MozRepl 1.0 – release
・MozRepl – development branch

FireFox再起動後 “ツール” > “MozRepl” > “Start”で、スタートさせておく

[2] “Fresno”をダウンロード

下記からSVNで”Fresno”をダウンロード
Fresno – SIMILE(FireFox機能拡張を実行する、コマンドライン?のようです)
※冒頭のURLからDLしたfresnoは上手く動作しなかったので、上記SVNからダウンロードをおすすめします。

ダウンロード後、プロジェクト内の任意の位置に置く。
ex) ./ant/builders/tools/fresno

[3] ANTからFresnoを実行

1
2
3
4
5
6
	<exec executable="open">
		<arg line="-a Firefox" />
	</exec>
	<exec executable="${basedir}/ant/builders/tools/fresno">
		<arg line="-j 'content.location.reload()'" />
	</exec>

これでFireFoxがリロードされる設定が出来ました!(・∀・)

FirefoxにFlashTracerをいれておけば、そのままトレースも確認できますね。
設定するまではちょっと面倒だけど、
一度ベースを設定してしまえば、スゴクラク!

追記

(追記 2010.8.1)—————–
このエントリを元に東京てら子6で発表しました。
その内容はこちらです。
東京てらこ6「SWF最適化・制作効率アップ術」で発表した内容

(追記 2010.5.31) —————-
<fdt.browse url=”url”>でもブラウザを開けますが、ブラウザ指定方法がわからず。。
また、fdt.browseだと実行の度に新規でウィンドウが開いてしまいます。
同ウィンドウで開く方法があったらオシエテだれか( ´д`; )

(追記 2010.5.31)—————-
<fdt.starDebugger>を使えばブラウザで開いたswfもFDT内Consoleでトレース確認ができます!
thx @cellfusion

FDTでコンパイル時に一部のコードを無視させる

Category:{ FDT, Progression }  Tag:{, , } Comments:{ No Comments }
Posted:{ 2010.05.28 05:58:19 }

FDTでswfをコンパイル時に、条件をつけて「一部のコードを無視させる」方法です。
Conditional Compilation With FDT – ActionScriptWiki

(エキサイト翻訳)
/*FDT_IGNORE*/キーワードを使用することによって、コードのある一定の領域を無視させることができる。

なるほどー。(・∀・)

(続きを読む…)

[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 オブジェクトを経由してイベントを受け取ります。

[memo] FDT4でTemplateがImport出来ない問題

Category:{ FDT }  Tag:{, , } Comments:{ 1 Comment }
Posted:{ 2010.05.15 10:42:52 }

@fumixさんのTweetで知りましたが、FDTがMilestone2にバージョンアップして、
過去のバージョンでExportされたTemplate類がもろもろImportできない状態になっているようですので、その解決法など。
(下記3箇所確認済み)
※環境設定 > FDT > Editor > Templates
※環境設定 > ANT > Editor > Templates
※環境設定 > XML > XML Files > Templates

解決法

import側のテンプレート(XML)の1行目該当部分を下記のように修正。

1
<?xml version="1.0" encoding="UTF-8"?>

↓standalone=”no”を追加

1
<?xml version="1.0" encoding="UTF-8" standalone="no"?>

これで読み込めるようになりました!(・∀・*)
※standalone=”no”を”yes”にするとどうなるか等は未確認です。

次期バージョンではどちらでも読めるように対応してほしいところです(期待)

関連エントリー

FDTテンプレート作りました。

[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 は定義されていません。」の原因


レンタルサーバー豆知識