Posts tagged as SparkProject

[Flash]GetLibraryItemClass version 1.1.0

「ライブラリの中でクラスが設定されているやつを調べる」JSFLコマンド「GetLibraryItemClass」を更新しました。

[Flash]ライブラリの中でクラスが設定されているやつを調べる | blog ViolentCoding
http://violentcoding.com/blog/2008/10/12/archives/355

 

ごめんなさい、フォントシンボルの出力が抜けてましたよ。
で、フォントシンボルの出力を追加してアップデートしたのです。

 

新しいバージョン Version 1.1.0をSpark projectにコミットしたのでダウンロードしてください。

GetLibraryItemClass – Spark project
http://www.libspark.org/wiki/e_s_jp/GetLibraryItemClass

GetLibraryItemClass ver 1.1.0

 


GetLibraryItemClassコマンド ダウンロード

GetLibraryItemClass.mxp
http://www.libspark.org/svn/mxp/GetLibraryItemClass/trunk/mxp/GetLibraryItemClass.mxp

Flash CS3 以降用です。
※インストールにはExtension Managerが必要。

利用方法

「コマンド」メニュー > GetLibraryItemClass

ソースリポジトリ

GetLibraryItemClass ソース
http://www.libspark.org/svn/mxp/GetLibraryItemClass/trunk/src/

 

Related posts

[AS]曲線の公式を描画するライブラリ

Spark project 勉強会#6でお話した「曲線の公式を使って図形を描いたりするライブラリ」について。

 

各曲線の数学的公式を1つ1つのクラスとして用意し、ごそごそ座標計算をするライブラリです。

Spark project/CurveLib
http://www.libspark.org/wiki/e_s_jp/CurveLib

 

ICurveFormulaインタフェースを実装した曲線の公式定義クラスと、その公式定義をいろいろ計算するCurvePointクラスがいらっしゃいます。
それだけでは、見た目に楽しくないので CurveGraphicsクラスというgraphics.lineTo()して曲線を描画するクラスもあったりします。

 

CurveLibを使ってどんな曲線が描けて、また公式定義クラスの引数確認用にサンプルサイトを作ったので見てみてください。

CurveLib
http://violentcoding.com/content/curvelib/

上記のCurveLibサイトと同じものSWF置き場(ローカルFlashPlayerの方が描画が早いのでこちらをおすすめ)
http://www.libspark.org/svn/as3/CurveLib/trunk/doc/fp9/formulaSWF/

curvelib01.png

 


それでは、CurveLib概要。

CurvePointクラス

  • 曲線の公式を使った計算
  • 半径を1.0として計算

ICurveFormulaインタフェース

  • 曲線公式の定義
  • 半径を1.0として定義

今用意している曲線は以下のようなものです。

  1. Botanic Curve
  2. Rhodonea(バラ曲線)
  3. Epitrochoid(外トロコイド)
  4. Hypotrochoid(内トロコイド)
  5. Starr Rose

※半径を1.0で計算し、また始点から終点への周回数計算が楽なため公式定義の引数に分母と分子を設定するとか数学的公式とは違ってクセがあります。

 

クラス図としては以下になります。一応公式クラスを追加しても、まぁ良い感じになるように学習してみました。

curveLib.gif
// 参考コード

// CurveGraphicsの抽象的クラス
var curve : CurveGraphicsBase;

// 公式の計算をするCurvePointクラスを用意
var curvePoint : CurvePoint = new CurvePoint( new BotanicCurveFormula( 5, 4, 1, 5 ) );

// 半径200でCurveGraphicsクラスを用意
curve = new CurveGraphics( 200, curvePoint );

// 計算系の設定
curve.stepSize = 1 ;
curve.startAngle = 0;
curve.isClockWise = !true;
curve.isLoop = !true;

// 配置座標(曲線の中心が0,0)
curve.x = 250;
curve.y = 250;
addChild( curve );

// 描画の線設定
curve.lineStyle( 0, 0x000000 );

// 描画の塗り設定
curve.beginFill( 0xFF0000, 0.25 );

// 曲線の描画
curve.lineCurve( true );

 


CurveLibの主要となるのはCurvePointクラス。

CurvePointクラスのメソッドとしては、

  • 指定角度でのXY座標を取得:getAnglePoint( angle )
  • 曲線上の計算する点の数を取得:getPointCount()
  • タイマー計算:startCurvePoint( delay, isClose )
  • タイマー計算の制御:startTick()・stopTick()・resetTick()
  • タイマー計算時イベント:start・stop・tick・complete・loop イベント

CurvePointクラスのプロパティとしては、

  • formulaプロパティ:使用する公式(ICurveFormula)
  • 何度ごとに計算するか:stepSizeプロパティ
  • 開始角度の指定:startAngleプロパティ
  • 時計周りに計算するかどうか:isClockWiseプロパティ
  • ループさせるか:isLoopプロパティ

を用意しましたので、それらを駆使して曲線上の座標値でゴソゴソします。

またCurvePointクラスを使用して曲線をgraphics.lineTo()するCurveGraphicsクラスでも数種類の曲線描画ができたりします。

 


CurveGraphicsクラス

  • CurvePointクラスと「曲線の半径」を指定する
  • graphics.lineTo()などする
  • for文で一気に描画するパターン
  • タイマーで描画するパターン
  • 曲線の中心点が( x=0, y=0 )
  • graphics.endFill()のtrue/falseを指定して連続描画

 

CurveGraphicsクラスでの描画パターン(1)for文で一気に描くタイプ

  • 線・塗りで曲線を描画:lineCurve( isEndFill )
  • 曲線上の点を円で描画:chipCurve( chipRadius, isChipFill )
  • 曲線上の点Pと指定角度をずらした点Qを結んだ線を描画:lineAngleBetween( angleBetween )

サンプルは以下

http://www.libspark.org/svn/as3/CurveLib/trunk/samples/fp9/samples/

のSample01.fla・src/Sample01.asが該当です。

 

CurveGraphicsクラスでの描画パターン(2)タイマーでチクチク描くタイプ

  • 線・塗りで曲線をタイマー描画:tickLineCurve( delay, isEndFill )
  • 曲線上の点を円でタイマー描画:tickChipCurve( delay, chipRadius, isChipFill )
  • 曲線上の点Pと指定角度をずらした点Qを結んだ線をタイマー描画:tickLineAngleBetween( delay, angleBetween )

サンプルは以下

http://www.libspark.org/svn/as3/CurveLib/trunk/samples/fp9/samples/

のSample02.fla・src/Sample02.asが該当です。

 

また、塗りの設定で以下の違いがでます。

CurveGraphicsクラスでの描画 引数「isEndFill」== trueの場合

  • 線の描画の最後でgraphics.endFill()を実行
  • 次の描画ではあらためてbeginFill()にて色を設定する必要がある。

CurveGraphicsクラスでの描画 引数「isEndFill」== falseの場合

  • 線の描画の最後でもgraphics.endFill()をしない
  • endFill()、beginFill()をしないので、塗りが閉じられずにそのまま次の描画に続く。

サンプルは以下

http://www.libspark.org/svn/as3/CurveLib/trunk/samples/fp9/samples/

のSample03.fla・src/Sample03.as、Sample04.fla・src/Smaple04.asが該当です。

 

また、ASDocコメント記述の学習もしてみたので、その他については以下を参照してください。

CurveLib ASDoc
http://www.libspark.org/svn/as3/CurveLib/trunk/doc/fp9/asdoc-output/

 

Related posts

[Flash]Spark project 勉強会 #6

Spark projectの勉強会、Spark project 勉強会 #6で話してきました。

 

「曲線の公式を使って図形を描いたりするライブラリを作りました」というお話です。

発表した資料に一部誤記があったので、修正してアップしました。
Spark project 勉強会 #6 「CurveLib」資料PDF

 

発表で使用したサンプルは、コミット済みですので、そちらからダウンロードして試してみてください。

サンプル
http://www.libspark.org/svn/as3/CurveLib/trunk/samples/fp9/samples/
http://www.libspark.org/svn/as3/CurveLib/trunk/doc/fp9/formulaSWF/

 

SparkのWikiの方はまだ書けていないのでこれから準備していきます。

Spark project/CurveLib
http://www.libspark.org/wiki/e_s_jp/CurveLib/

 


勉強会の方はというと。

まずSpark project近況。

nobu(soundkitchen)さん作の「HigeWheel」から「SWFWheel」の名称変更について。
オープンソース性を出すための名前を変えたという理由がすばらしい。

 

次にAdobeさんによるFlash CS4デモ。

個人的にはFlash CS4のツールバーが右側になったのは、マウス操作を少なくするUI設計から来ているということと、yossyさん補足の「コンパイル時の定数設定」で、Flash CS4からでも条件付きコンパイルができるようになった部分が勉強になった。

Flex 3のドキュメントの「条件付きコンパイルの使用」がFlash CS4上で設定できる。

trace( 'A' );

CONFIG::DEBUG {
    trace( 'debug' );
}

trace( 'B' );

で、DEBUG定数の「true/false」でtrace( ‘debug’ )の出力が「あり/なし」となるというデモ。

また、「Flash Player in action」というFlash Player 10のページで、zk33さんの「Tenoran」がでているよ!という報告も。「Tenoran」についてはデベロッパーセンターに記事があります。

Adobe Flash Player: Flash Player in action
http://www.adobe.com/products/flashplayer/action/

Adobe – デベロッパーセンター : Flash Player 10で広がるFlashの音の世界
http://www.adobe.com/jp/devnet/flash/articles/flp10_sound.html

 

Graphoon(グラフーン)についてfushanさん。

Graphoonはfushanさんが研究しているという教育・教員向けという要素も持つFlexの「グラフのコンポーネント」&「サービス」。リサージュ曲線を描いてた。
これは自分の曲線の学習ために使えそう。

evalコマンドがAS3.0で使えないが、D.eval関数がライブラリで使えるようにというのもチェックしたい。

 

daoki2さん(Spark projectを英訳してくれた方)のAIRアプリ紹介。

SQLite3の管理アプリ「Rococo」やFlex/AIRのローカライゼイション用のファイルを生成する「LocalMaker」など。ローカライズ対応の際には是非「LocalMaker」を使ってみたい。

 

yossyさんのガベージコレクションについて。

超わかりやすい!。複雑な感じのするガベージコレクションについて、動きある資料とか、実際のコードとかで説明。
参照の方向によるGC発動と、発動のタイミングは是非ともおさえておきたい。
資料を待つべし!

 

次回勉強会は、来月(2009年1月)はAdobe MAX Japan 2009でSpark projectのセッションがあるので飛ばして、2009年2月に予定しているということです。


 

懇親会にも参加して、普段自分が触れることのない、色々な話が聞けました。
残念ながらお話できなかった人もいて、もっと自分の知らない部分のお話やFlash制作の現場の生の話を聞きたかったです。

 

さて、次はいよいよMAXです。ライトニングトークでしゃべります。Sparkします!

Adobe MAX Japan 2009 での Spark project セッションのご案内 « Blog – Spark project
http://libspark.wordpress.com/2008/11/21/adobe-max-japan-2009/

 

Related posts

[Flash]ライブラリの中でクラスが設定されているやつを調べる

他の人が作った.flaファイルを見たりしなきゃいけない場合・・・の第2弾。

 

ASファイルを見てる場合、Flashのライブラリでクラス設定されたものって気づきづらかったりします。

var init_mc : MovieClip = new InitView();
var myMap : BitmapData = new EffectMap(0, 0);

上記みたいなコードがあった場合、InitView.as、EffectMap.asでクラス定義されてると思ってASファイルを探してみても、Flashのライブラリでクラス設定されていたら、そんなファイルは見つかりません。

 

で、ライブラリの中でクラスが設定されているやつを調べるJSFL。

 

2009/01/09追記
fontの出力が抜けていたので追加し、Version 1.1.0に更新。

 

GetLibraryItemClass

クラス設定されてるライブラリのみを対象に、クラスとか基本クラス(AS3)、識別子(AS2)などの一覧を出力パネルに書き出すコマンドです。

 

GetLibraryItemClass – Spark project
http://www.libspark.org/wiki/e_s_jp/GetLibraryItemClass


 

出力パネル例(ActionScript 3.0の場合)

Get Library Item Class Command
mySample.fla
Oct. 11, 2008 23:57:12

ActionScript 3.0
Document Class:	MainClass
**************************************************

Library Item:	initMC
Class:		InitView
BaseClass:		flash.display.MovieClip
Item Type:		movie clip
--------------------------------------------------

Library Item:	nextBtn
Class:		NextButton
BaseClass:		flash.display.SimpleButton
Item Type:		button
--------------------------------------------------

Library Item:	baseMC
Class:		BaseView
BaseClass:		flash.display.MovieClip
Item Type:		movie clip
--------------------------------------------------

Library Item:	parts/ColorPicker
Class:		fl.controls.ColorPicker
BaseClass:		flash.display.Sprite
Item Type:		component
--------------------------------------------------

Library Item:	parts/CheckBox
Class:		fl.controls.CheckBox
BaseClass:		flash.display.MovieClip
Item Type:		component
--------------------------------------------------

Library Item:	parts/hit.mp3
Class:		SESound
BaseClass:		flash.media.Sound
Item Type:		sound
--------------------------------------------------

Library Item:	parts/map.png
Class:		EffectMap
BaseClass:		flash.display.BitmapData
Item Type:		bitmap
--------------------------------------------------

Library Item:	fonts/font_Arial_12
Class:		MainFont
BaseClass:		flash.text.Font
Item Type:		font
--------------------------------------------------

 

出力パネル例(ActionScript 2.0の場合)

Get Library Item Class Command
mySample.fla
Oct. 11, 2008 23:57:12

ActionScript 2.0
**************************************************

Library Item:	initMC
Identifier:		initMC
Class:		InitView
Item Type:		movie clip
--------------------------------------------------

Library Item:	nextBtn
Identifier:		nextBtn
Class:
Item Type:		button
--------------------------------------------------

といった、具合を出力パネルに書き出す。

 

Save the result in a file

「Save the result in a file」は出力パネルの内容をファイルに保存するかどうか。
チェックした場合は、ファイル選択ダイアログが開きます。


 

GetLibraryItemClassコマンド ダウンロード

GetLibraryItemClass.mxp
http://www.libspark.org/svn/mxp/GetLibraryItemClass/trunk/mxp/GetLibraryItemClass.mxp

Flash CS3 以降用です。
※インストールにはExtension Managerが必要。

 

利用方法

「コマンド」メニュー > GetLibraryItemClass

 

ソースリポジトリ

GetLibraryItemClass ソース
http://www.libspark.org/svn/mxp/GetLibraryItemClass/trunk/src/

 

Related posts

[Flash]フレームに書いてあるASを出力するコマンド

ライブラリの中でASが書いてあるやつを調べるJSFLをTanablogさんで改良してくれたので、さらに勝手に改良して、「フレームに書いてあるASを調べる」コマンドに整理した。

Tanablog: “ライブラリの中でASが書いてあるやつを調べる” を改良した
http://bitmap.dyndns.org/blog/archives/001602.html

 

Tanablogさんが改良した、現在編集中のタイムラインにあるASも出力する機能に、メインタイムライン(シーン)のASを区別して書き出す機能をミックスし、オブション設定なども追加。

GetFrameActionScript


All items Mode

メインタイムライン(シーン 1、シーン 2、・・・)と、ライブラリアイテムの全てをチェックして出力。

Get Frame ActionScript Command
Main.fla
Aug. 23, 2008 0:30:57

##################################################
	 Main.fla : シーン 1
	 Layer:[ レイヤー 2 ], Frame:[ 5 ]
##################################################

trace("loaded");

##################################################
	 Main.fla : シーン 2
	 Layer:[ レイヤー 1 ], Frame:[ 23 ]
##################################################

// シーン 2終了
this.stop();

##################################################
	 parts/シンボル 7
	 Layer:[ レイヤー 2 ], Frame:[ 1 ]
##################################################

stop();

function hoge() :void {
    trace("hoge");
}

##################################################
	 parts/シンボル 7
	 Layer:[ レイヤー 2 ], Frame:[ 10 ]
##################################################

gotoAndPlay(2);

##################################################
	 シンボル 6
	 Layer:[ レイヤー 2 ], Frame:[ 1 ]
##################################################

trace("init");
stop();

##################################################

 

Current timeline Mode

現在編集中のタイムラインのみを対象として出力。

Get Frame ActionScript Command
Main.fla
Aug. 23, 2008 0:40:6

##################################################
	 Current timeline(シーン 2)
	 Layer:[ レイヤー 1 ], Frame:[ 23 ]
##################################################

// シーン 2終了
this.stop();

##################################################

とか、シンボル編集中の場合には、

##################################################
	 Current timeline(シンボル 7)
	 Layer:[ レイヤー 2 ], Frame:[ 1 ]
##################################################

stop();

function hoge() :void {
    trace("hoge");
}

##################################################
	 Current timeline(シンボル 7)
	 Layer:[ レイヤー 2 ], Frame:[ 10 ]
##################################################

gotoAndPlay(2);

##################################################

といった、具合を出力パネルに書き出す。

 

Output ActionScript code

「Output ActionScript code」のチェックはASコード内容出力のある/なし。

 

Save the result in a file

「Save the result in a file」は出力パネルの内容をファイルに保存するかどうか。チェックした場合は、ファイル選択ダイアログが開きます。
Choose output file

 

この合作?をSpark projectにコミットしたのでバシバシ改良してください。

GetFrameActionScript – Spark project
http://www.libspark.org/wiki/e_s_jp/GetFrameActionScript


 

GetFrameActionScriptコマンド ダウンロード

GetFrameActionScript.mxp
http://www.libspark.org/svn/mxp/GetFrameActionScript/trunk/mxp/GetFrameActionScript.mxp

Flash 8 以降用です。
※インストールにはExtension Managerが必要。

 

利用方法

「コマンド」メニュー > GetFrameActionScript

 

ソースリポジトリ

GetFrameActionScript ソース
http://www.libspark.org/svn/mxp/GetFrameActionScript/trunk/src/

 

Related posts

Pages: 1 2 Next