Home > JSFL Archive
JSFL Archive
JSFL :: フレームスパンを自由に設定
- 2010年6月30日 20:16
- JSFL
CS4から新しくなったモーショントゥイーン、使ってますか? 慣れてきたという方も多いのではないでしょうか。 その中で、新しくフレームスパンという概念ができました。
これはトゥイーンの時間を決定し、フレームの長さとして反映されます。

詳しくは、公式ヘルプのアニメーションの基本をご覧ください。
- Comments: 0
- TrackBacks: 0

JSFL :: FlashCS5をantクライアントにする flant
- 2010年6月30日 16:41
- JSFL

先日Adobe主催で行われたCS5イベント、station 5のSparkProject SP3で紹介させていただいた "flant" をSparkProjectにコミットしました。
Ant
Apache Antはビルドツールのひとつです。ビルドツールとは、"一連の処理を自動化"することができるもので、たとえば大規模アプリケーションでは、一つのファイルですべてが完結するわけではありません。複数のファイルでひとつのアプリケーションになるため、必要なファイルをまとめる、"パッケージング"という作業が発生します。
- Comments: 0
- TrackBacks: 0

JSFL :: MMExecute+fl.runScriptで関数呼び出し時、引数に改行コードが入るとエラー
- 2010年3月 6日 13:07
- JSFL
MMExecuteとfl.runScriptを使うことで、SWFPnaelから外部のJSFLを叩けることは、このブログでも以前取り上げました。
SWFPanel開発時には、多用することになるこの二つのメソッド。
しかし、外部JSFLの関数を呼び出す際には注意が必要です。
引数はString
MMExecuteは第一引数にJSFLをStringで渡します。ということは、必然的に関数のパラメータもStringになります。
改行コードが含まれていると
やってしまいがちなのがこの問題です。SWFPanel側で何らかの処理をし、MMExecuteに引き渡す際、Stringに改行コードが混入していると、エラーが発生します。
MMExecute("fl.runScript(fl.configURI+'Commands/test.jsfl','test','mes\nsage')")
//SyntaxError: unterminated string literal
- Comments: 0
- TrackBacks: 0

JSFL :: 出力パネルを指定時間で自動消去 OutputClear
- 2010年2月15日 19:22
- JSFL

traceを出し過ぎて、プレビューが重い事ってありますよね。
自分だけ作業しているときには全文検索でtrace全削除すればいいけど、複数人の場合にはそういうわけにもいきません。
trace文は消したくない!プレビューだけみたいのに重い。
そんなときのSWFPanelです。
ダウンロードは以下から。
- Comments: 0
- TrackBacks: 0

JSFL :: FLfile.copyを拡張してディレクトリごとコピーする
- 2009年9月 8日 22:46
- JSFL
意外かもしれませんが、JSFLはファイルシステムにアクセスすることができ、ファイルやディレクトリの読み書きが可能です。今回のエントリーでは、ディレクトリーのコピーについて記しています。
JSFLでファイルをコピーする場合は、FLfile.copyが便利です。このメソッドは、コピー元とコピー先のファイルシステムのURIを指定して使用します。ところが、このメソッド、実はディレクトリごとのコピーを行うことが出来ません。そこで、このメソッドを拡張してみましょう。ポイントは以下の4個です。
- フォルダ内の一覧の取得する
- ディレクトリ・ファイルの判定
- ディレクトリの作成
- 再帰
- Comments: 0
- TrackBacks: 0

ActionScript 3.0 :: SWFPanelで発生したエラーを出力する
- 2009年9月 3日 19:26
- ActionScript 3.0 | JSFL
SWFPanel。便利な機能ですよね。Progressionでも活用されていますし、自分専用のジェネレターとか作れてしまうスグレモノです。
でも、欠点は開発のデバッグが大変なこと。traceとか、ランタイムエラーとか、出力パネルでないんです。
じゃぁ、どうしようってなるわけです。
- Comments: 0
- TrackBacks: 0

JSFL :: SWFPanel(AS3/SWF)のメソッドを呼び出すswfPanel.call
- 2009年8月12日 17:35
- ActionScript 3.0 | JSFL
以前のエントリーでも、MMexecuteに関してはとりあげました。では、JSFL側が、SWFPanelとやりとりしたい場合はどうでしょう。これには、JSFLのswfPanelオブジェクトには、callメソッドを使用します。
- Comments: 0
- TrackBacks: 0

JSFL :: ライブラリのビットマップを全てロスレスに設定
- 2009年6月17日 13:48
- JSFL
JSFLは、ちょっとしためんどくさい作業にうってつけです。
下記のJSFLはライブラリを走査して、ビットマップの圧縮設定を全てロスレスに変換します。
var lib = fl.getDocumentDOM().library
for(var i=0;i<lib.items.length;i++){
var item = lib.items[i];
if(item instanceof BitmapItem){
item.compressionType = "lossless"
}
}
BitmapItem
ライブラリに格納されるアイテムは全て、Itemクラスを継承します。ビットマップはBitmapItemクラスに属し、compressionTypeプロパティを持ちます。このプロパティは 画像圧縮の種類を指定するストリングです。 指定できる値は、「photo」または 「lossless」になります。
- Comments: 0
- TrackBacks: 0

JSFL :: Flashのタイムラインに文字を書く
- 2009年6月 2日 01:18
- ActionScript 3.0 | JSFL

先のエントリーで、Geoff氏の誕生日用に作ったJSFLを用いたタイムラインメッセージ。
ポイントは3つ
- JSFLとAS3(SWF)の連携
- AS3によるパーティクル表現
- JSFLの限界
これを踏まえて、以下解説編です。
- Comments: 0
- TrackBacks: 0

SparkProject勉強会#9でGeoffを全力で祝ってきた
- 2009年5月29日 20:46
- ActionScript 3.0 | JSFL

昨日、SparkProject勉強会#9にスピーカーとして参加しました。今回、SWFObjectの開発者であるGeoff Stearns氏が来日・ゲストとして登場し、氏の誕生日と言うこともあってすごい盛り上がりでしたね。
で、僕はJSFLについて自分がコミットしているものを紹介したわけなんですが、それとは別にGeoffが誕生日ってことで皆でFlashつかって祝おう!って企画があがったわけです。
ARを使ったバースデーケーキの拡張現実やら、WEBカムでGeoffの顔をあしらったケーキを生成したり、もうすごいのなんの。僕は性懲りもなく、JSFLでお祝いしました。どんだけJSFL好きなんだと。
- Comments: 0
- TrackBacks: 1

ActionScript 3.0 :: SWFPanel(AS3)とJSFLを連携するMMExecute2
- 2009年5月28日 16:43
- ActionScript 3.0 | JSFL
ちょっと使いづらいMMExecuteを少しだけ使いやすくするユーティリティクラスMMExecute2をSparkにコミットしました。
as3のMMExecute関数は、SWFPanelとJSFLの連携を図るためのパッケージ関数です。引数にJSFLコマンドをStringで渡すことで、SWFPanelからJSFLを実行することが出来ます。ところが、Stringにしなければならないため、外部のJSFLに定義されている関数を実行したり、引数を渡したりするのは、少しめんどくさく、かつとても見にくくなりがちでした。MMExecute2はそんな問題を解消します。
- Comments: 0
- TrackBacks: 0

JSFL :: Flash CS4 10.0.2アップデートでfl.publishDocument()メソッドが追加
- 2009年5月14日 16:54
- JSFL
今回のアップデートは主に、多数のバグフィックスやパフォーマンス向上が主になっています。
そんな中JSFL使いとして見過ごせない一文が・・・。
You can now use fl.publishDocument( flaURI [, publishProfile] ) to do this.
fl.publishDocument()
今まで、JSFLからのパブリッシュ実行はアクティブになっているFLAファイルをパブリッシュするか、SWFとして書き出すことしかできませんでした。今回のアップデートで追加されたfl.publishDocument()メソッドは、第一引数にURIを指定することでどこのディレクトリに存在するFLAファイルでもパブリッシュすることができようになりました。これは素晴らしいことです!下記はサンプルになります。第一引数に指定するURIはfile:///形式であることに注意する必要があります。この形式へは、FLfile.platformPathToURI()メソッドにプラットフォーム固有のURIを渡すことで変換してくれます。
fl.publishDocument(FLfile.platformPathToURI("C:\\example\\test.fla"))
- Comments: 0
- TrackBacks: 0

TweenerのTransitions一覧をFlashCS4のパネルにするコンポーネント
- 2009年4月 8日 21:31
- JSFL

http://www.libspark.org/wiki/kaede/TweenerTransitionsPanel
SWFPanelとは
Creative Suite 4 familyの特徴として、SWFをパネルとして追加する事ができます。これらはSWFPanelと呼ばれ、FlashならばJSFL、PhotoshopならJSXというように、JavascriptAPIを用いてアプリケーションを操作することが可能になりました。FlashCS4ではネイティブに入っているkulerパネルやProjectパネルは、この機能によって実現されています。SWFPanelの実装もConfiguration/WindowSWFに該当のSWFを格納するだけと、実に単純で簡単です。
TweenerTransitionsPanel
TweenerTransitionsPanelは、忘れがちなTweenerのTransitions一覧をFlashCS4にパネルに格納しました。わざわざアクセスしなくても、さっと確認することができます。
使い方
- mxpをダウンロードしてインストール
- ウィンドウ>他のパネル>TweenerTransitions
- Comments: 0
- TrackBacks: 0

[JSFL]リアルタイムにパブリッシュを実行するコンポーネントRealPub[AIR]
- 2009年4月 8日 00:37
- ActionScript 2.0 | ActionScript 3.0 | JSFL
http://www.libspark.org/wiki/kaede/RealPub
http://www.libspark.org/svn/mxp/RealPub/RealPub.zip
少し遅れてのコミットになってしまいましたが、先日行われたJSFL勉強会で発表したJSFLをSparkで公開しました。もともと、このコンーネントは以前行われたDTL.asで、吉川さんが公開して話題となったAIRアプリで実現するASエディタのリアルタイムパブリッシュ機能を、サーバー無しで実現させようと考え、開発しました。
リアルタイムパブリッシュ・コンポーネントRealPub
RealPubは、SWFPanel+AS3/JSFL/AIRの技術を使用したコンポーネントです。実行結果は題目通り、指定された秒数ごとにパブリッシュを実行し、専用のAIRアプリに表示します。FLASHコンポーネント内から独立するAIRアプリのため、常に最前面に表示することができ、パブリッシュ結果の確認を容易にします。
使い方は以下から
- Comments: 1
- TrackBacks: 0

シンボルのリンケージクラスを全検索・全置換するJSFL
- 2009年2月12日 14:53
- JSFL
Flashのライブラリ内に登録されているシンボルのリンケージ。
これを全検索・全置換できるJSFLをSparkにてコミットしました。
今開いているすべてのflaドキュメントもしくは今アクティブなflaドキュメントのライブラリ内を対象にできます。
spark - AllClassLinkageReplac
http://www.libspark.org/wiki/kaede/AllClassLinkageReplace
download
http://www.libspark.org/svn/mxp/AllClassLinkageReplace/AllClassLinkageReplace.mxp
使い方は以下から。
- Comments: 0
- TrackBacks: 0

JSFLでフレームにActionScriptを挿入する際のスマートなやり方
- 2008年12月12日 18:03
- JSFL
frameを参照する
JSFLを使えば、タイムラインのフレームに直接actionscriptを挿入することができます。以下のソースでは、ドキュメントのカレントシーンの一番最上面のレイヤーの1フレーム目を参照し,actionscriptを挿入します。
var frame = fl.getDocumentDOM().getTimeline().layers[0].frames[0] frame.actionScript = "this._visible = false"
まず、getDocumentDOMで現在開いているドキュメントを参照し、getTimelineでカレントシーンを示すtimeLineオブジェクト取得します。次に、timeLineオブジェクトに内包されているlayersプロパティを参照します。このプロパティ値は配列で、該当シーンのレイヤーを上から順に格納します。そこで必要なlayerオブジェクトを取得したら、layerオブジェクトのframesプロパティを参照します。これは、layersプロパティと同様、配列で管理され、フレーム1はframes[0]で取得します。IDE上はフレーム1ですが、配列参照のindex値は0であることに注意してください。
フレームにactionscriptを挿入する
frameオブジェクトはactionScriptプロパティを内包しています。このプロパティの型はstringで、指定した値がそのまま埋め込まれます。改行には"\n"を使用します。
Array.join()を使ってスマートに
actionScrilptプロパティはString指定のため、改行が含まれているソースは非常に複雑かつ読みにくい物となってしまいます。これでは、今後のメンテナンスにも影響を与えかねません
//煩雑なソース
frame.actionScript = "var flag:Boolean = false; \n if(!flag){\n this._visible = false;\n flag = true;\n };"
この問題は、Array.join()を活用することで解決できます。joinは、配列の要素をを引数で指定した文字列で連結し、Stringに変換します。以下のソースでは、指定する区切りの文字列に改行指定"\n"を指定することで、改行指定を挿入する手間を省き、かつ見やすいソースになっています。
frame.actionScript = [
'var flag:Boolean = false;',
'if(!flag){',
'this._visible = false;',
'flag = true;',
'};'
].join("\n");
- Comments: 0
- TrackBacks: 0

JSFLでステージサイズを変更するとクラッシュする[Flash]
- 2008年12月10日 19:55
- JSFL
JSFLで、ステージサイズを動的に変更したい場合
fl.getDocumentDOM().width = 150; fl.getDocumentDOM().height = 200;
上記のようにドキュメントにアクセスした上で、width,heightにアクセスします。
リファレンスには、この値について以下のように記述されています。
プロパティ。ドキュメント ( ステージ) の幅をピクセル単位で指定する整数。
ステージサイズは整数で指定する
引用でも分かるとおり、整数を指定する必要があります。
仮に、浮動小数点を含んだNumberが指定された場合、エラーコンソールもでることなくクラッシュするので、注意が必要です。
たとえ、表面上が整数であっても、クラッシュする可能性もあります。
たとえばある特定のオブジェクトサイズに合わせてステージサイズを変更したい場合、オブジェクトのwidth/heightにアクセスすることになります。プロパティ上でも、fl.trace上でも整数なのにクラッシュすることがあり、理由として内部的なプロパティ値が浮動小数点を含んでいるからです。
よって、なんらかのオブジェクトにアクセスしたNumberをステージサイズに設定する時には、必ずMath.floorやMath.roundを使用して浮動小数点を排除することで、クラッシュを回避することができます。
var dom = fl.getDocumentDOM();
dom.width = Math.round(dom.getElementProperty("width"));
ステージサイズは幅高2880pxまで
ステージサイズには、限界があります。その制限は2880pxで、これを超えるステージは作成できません。これは、JSFLにも同じ制限が適用されます。
- Comments: 0
- TrackBacks: 0

型を特定する[as2/as3/JSFL]
- 2008年12月10日 15:14
- ActionScript 2.0 | ActionScript 3.0 | JSFL
Flash周りのスクリプト言語で型を特定したい場合、 as2,as3,jsflではそれぞれ実装がことなってきます。
例えばas2の場合、
//as2 typeof(test_mc)//movieclip
typeof()を用いて特定ができます。
as3の場合では、typeofを実行しても objectが返ってくるため、
同じようにはいきません。
私の場合はよくisステートメントを利用します。
//as3 (test_mc is MovieClip)//true
ところで、jsflではどうでしょう?
- Comments: 0
- TrackBacks: 0

[Flash]ラベルを連番で自動生成するJSFL InsertLabel.jsfl [JSFL]
- 2008年12月 1日 20:06
- JSFL
http://www.libspark.org/svn/mxp/insertLabel/insertLabel.mxp
jsflを書いたので、コミットしました。
上のURLからmxpでDLできます。
・選択したフレームにラベルを連番で自動生成
・連番前に任意の文字列を挿入可能
・番号の初期値を設定可能
・選択したフレームの個別入力も可能
使い方は、上の動画をご覧下さい。
なお、今のところFlashCS3以上で動作検証をしています。
Flash8以下では動かない可能性が高いです。ご了承下さい。
[追記]
フレームラベル・連番でgoogleしたらカヤックさんのJSFLを発見!
機能もすごいそっくり!(笑
今更こんなの自力で書いてアホまるだしですが、、
物好きな人もってください(涙
みんな考えることおなじなんだなぁと思ったのでした。
- Comments: 0
- TrackBacks: 0

Home > JSFL Archive
- Search
- Feeds
- Tag Cloud
-
- 3
- 3d
- 67ws
- ActionScriopt
- ActionScriopt 執筆
- ActionScript
- ActionScript3.0
- Ajax
- ant
- api
- as
- as3
- bug
- cs3
- Date
- dom
- event
- ExternalInterface
- Flash
- flash
- FlashCS3
- FlashDevelop
- FlexPDM
- for
- Gadget
- gihyo.jp
- HTML
- Javascript
- javascript
- javascript dom 講座
- jQuery
- jsfl
- localToGrobal
- map
- maps
- other
- papervision3d tweener actionscript3
- PerspectiveProjection
- PR
- RSS
- ruby
- setPixel
- SparkProject
- swc
- trace
- trouble
- Tweener
- UTC
- WebCreators
- Writing
- XHTML
- xlmns
- XML
- XML ネームスペース
- クラス
- コンポーネント
- パーティクル
- マウスイベント
- 世界標準時間
- 連携
- Sticker

- Recommend
-
Powered by POPit
