HYPE がなんか楽しい

2010年05月07日 19:23

Swarm とか BitmapCanvas とか色々用意されててもそもそしてたらいつのまにかできた。こういうのはやっぱたのしいな。

the HYPE Framework

package  
{
	import flash.filters.ColorMatrixFilter;
	import hype.framework.core.TimeType;
	import flash.filters.BlurFilter;
	import hype.extended.rhythm.FilterCanvasRhythm;
	import hype.extended.behavior.FixedVibration;
	import hype.extended.behavior.Swarm;
	import hype.extended.color.ColorPool;
	import hype.extended.layout.ShapeLayout;
	import hype.framework.core.ObjectPool;
	import hype.framework.display.BitmapCanvas;
	import hype.framework.rhythm.SimpleRhythm;

	import flash.display.Sprite;

	/**
	 * @author Mk-10:cellfusion
	 */
	public class Sample extends Sprite 
	{
		private var _rhythm:SimpleRhythm;
		private var _pool:ObjectPool;
		private var _colorPool:ColorPool;
		private var _clipContainer:Sprite;
		private var _layout:ShapeLayout;
		private var _bc:BitmapCanvas;
		private var _blur:FilterCanvasRhythm;

		public function Sample()
		{
			var bg:Sprite = new Sprite();
			bg.graphics.beginFill(0x000000);
			bg.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
			bg.graphics.endFill();
			addChild(bg);
			
			_layout = new ShapeLayout(bg);
			
			_bc = new BitmapCanvas(stage.stageWidth, stage.stageHeight);
			addChild(_bc);
			
			_clipContainer = new Sprite();
			
			_colorPool = new ColorPool();
			
			_pool = new ObjectPool(MyCircle, 100);
			_pool.onRequestObject = poolRequest;
			
			_rhythm = new SimpleRhythm(addNextClip);
			_rhythm.start();
			
			_bc.startCapture(_clipContainer, true);
			
			_blur = new FilterCanvasRhythm([new ColorMatrixFilter([0.99, 0, 0, 0, 0, 0.99, 0, 0, 0, 0, 0.99, 0, 0, 0, 0, 1])], _bc);
			_blur.start(TimeType.TIME, 100);
		}

		private function poolRequest(clip:Sprite):void 
		{
			clip.scaleX = clip.scaleY = 0.8 * Math.random() + 0.2;
			clip.x = stage.stageWidth * 0.5;
			clip.y = stage.stageHeight * 0.5;
				
			_clipContainer.addChild(clip);
				
			var swarm:Swarm = new Swarm(clip, _layout.getNextPoint(), 5, 0.09, 25);
			swarm.start();
				
			var sVib:FixedVibration = new FixedVibration(clip, "scale", 0.9, 0.1, 0.2, 1, true);
			sVib.start();
		}

		private function addNextClip(r:SimpleRhythm):void 
		{
			if (_pool.isFull) {
				r.stop();
			} else {
				_pool.request();
			}
		}
	}
}

import flash.filters.DropShadowFilter;
import flash.display.Sprite;

class MyCircle extends Sprite
{
	public function MyCircle() 
	{
		var circle:Sprite = new Sprite();
		
		circle.graphics.beginFill(0xFFFFFF);
		circle.graphics.drawCircle(0, 0, 3);
		circle.graphics.endFill();
		
		addChild(circle);
		
		filters = [new DropShadowFilter(0, 45, 0, 1, 2, 2, 1, 1)];
	}
}

Comments : 99, Tags : , Category : Program

FDT について喋ってきます

2010年04月29日 12:29

Flash OOP 勉強会にて Flash の開発環境の勉強会があるので、FDT について語ってこようと思います。
FDT だけではなく FlashDevelop や Flash Builder についての環境の話も聴けるので、この勉強会で自分に合いそうな環境を探してみてはいかがでしょうか?

第35回 Flash OOP勉強会「Flash OOP presents/Flash開発環境自慢大会!」with Adobe station5

イベント詳細

日時 : 5月11日(火)
会場 : THE GALLERY
渋谷区神宮前4丁目21-8 OWビル2F(Google Map)
内容 : Flash Builder、FlashDevelop、FDTの各開発環境の紹介をし、ユーザーによる「環境自慢」トークを行ないます。
司会 : 富川 真也 氏(Flash OOP)
スピーカー : FlashDevelop 佐藤 陽亮(bkzen), FDT 俺(Mk-10:cellfusion), Flash Builder 浦野 大輔(uranodai)

セミナー申し込みページ
※ 既に予約受付完了しました、たくさんの申し込みありがとうございます。

Comments : 99, Tags : , Category : Event

Progression 本執筆しました

2010年04月21日 15:00

FLASHer の味方 Progression 本の執筆をしました。
Progression てのはなんぞやという説明から、コンポーネントの使い方、コマンドやシーンの説明、etc... ここまで Progression について説明されてる書籍はないんじゃないかしらというくらいになかなかのボリュームだと思います。
これから Progression を使いはじめる方やすでに使っている方にもお勧めですよ。

今月末には書店に並ぶと思うのでよろしくお願いしまーす。

Comments : 99, Category : Diary

FDT スペシャルキャンペーン

2010年03月19日 12:15

Twitter でも告知したけど、FDT Pro & Enterprise がめっちゃくちゃお得に買えるキャンペーンやってます!

Powerflasher Solutions - Promotions

翻訳してもらいました!
アップグレードの価格より安いのでこの機会に是非体験してみてくださいー。

--

新年度に向けた FDT のスペシャルキャンペーン実施中!
いまお使いのFlash用開発ツールから FDT Pro もしくは Enterprise へのアップグレードをご検討中の方に、3月末までを限定に特別価格でご提供させて頂きます(Pro: $299 Enterprise $399)。
アップグレードにはお使いの Flash ツール購入時の領収書など、ライセンスの証明が必要です。詳しくは upgrade2FDT[at]powerflasher.com まで(日本語可)。

--

twitter でも @cellfusion@keisukes にリプライするといいかも。

Comments : 99, Tags : , Category : Program

fdt.jp を作りましたー

2009年12月28日 06:11

この blog にいろいろ情報を書いていましたが、専用のサイト作った方がいいなと思ったので、 fdt.jp を作成しました。

http://www.fdt.jp/

インストール方法などから各種カスタマイズなどいろいろな tips やチュートリアルなどを掲載予定です。

Comments : 99, Tags : , Category : Program

FDT Library Tips

2009年12月07日 13:42

FDT でのライブラリの使い方は大きく分けて二種類あります。一つは Linked Library を使ってプロジェクト外のライブラリを指定する方法。もう一つは Source Folder を作成してその中にライブラリのファイルを入れる方法です。今回は二つの指定方法と違いを説明します(おまけで swc のライブラリを指定する方法も書いておきました)

Linked Library を使った指定方法

Linked Library はプロジェクト外のライブラリを使いたいときに使用します。

右クリック > New > Linked Libraries

Add で Linked Libraries の一覧が出てくるのでここで必要なライブラリを指定します。
もし、必要なライブラリが無い場合は New をクリックして追加します。

Linked Library はデフォルトの状態ではソースコードの表示は可能ですが、編集ができないようになっています。もし、編集したい場合は Preference > FDT > Misc の Enable working in linked libraries をチェックすることで編集が可能になります。

Linked Library を追加

Name には識別名と Location にはそのライブラリのパスを指定します。
通常のソースコードのライブラリの場合は Folder を指定すればそのフォルダより下をライブラリと認識します。swc の場合には file をクリックして swc のパスを直接指定します。

Linked Libraries は Core Library でも使用しているので、ちょっとごちゃごちゃになりやすいので分かりやすい命名をしておくと見分けやすくなります。

Source Folder を使った指定方法

ソースコードやプロジェクト内にライブラリを置いて使う場合には Source Folder を使います。

右クリック > New > Source Folder で追加するとフォルダを追加すると同時にそのフォルダを Source Folder にします。

また、指定したいフォルダが既に存在する場合はそのフォルダを右クリック > Source Folder > Add to Classpath でそのフォルダを Source Folder にできます。

プロジェクト内の swc を使用する場合

Project 内で swc を使用する場合には Source Folder に入れるのではなく、swc を右クリック > Source Folder > Add to Classpath で指定します。

Comments : 99, Tags : , Category : Program

FDT の日本語対応について

2009年12月07日 13:25

blog で告知するのを忘れてましたが FDT の公式ページが日本語化されました。右上にある日本語をクリックすると切り替わります。

FDT

ちなみにサイトの日本語化だけでなく、サポートへのメールも日本語で送ってもきちんと日本語ができるスタッフがいるので、英語がしゃべれないけど・・・って人も気になることがあればサポートへは日本語でメールを送っても問題ないです。

また、少し前にフォーラムも日本語用フォーラムが完成しています。一番下の Japanese FDT Forum に、質問や要望などを投稿するとスタッフのかたが翻訳して開発チームにも連絡してくれるので、バグなどの情報があったらフォーラムにひとまず投稿すると良いと思います。

FDT Forum

Comments : 99, Tags : , Category : Program

FDT Preferences Tips

2009年11月09日 20:43

FDT の Preferences 画面から変更できる設定についてまとめました。

Preferences 画面は osx なら FDT > Preferences で windows なら window > Preferences からアクセスできます。まだ自分も微妙に分かってない項目があるので分かり次第更新します。

FDT

Open FLA in Flash IDE : *.fla ファイルを Flash IDE で開くかどうかの設定

FDT > Build Path

プロジェクト作成時にソースコード用フォルダとアウトプット用フォルダを作成するかどうか設定します。

FDT > Code Style

Use implicit getters/setters in AS3 : Quick Fix の getter/setter 選択時に gettter/setter を使用するかどうか設定します。使用しない場合は getHoge や setHoge のような関数で作成されます。

Use Type * in AS3 : * を使用するかどうか設定します。使用しない場合は型が指定されずに var hoge のようになります。

FDT > Code Templates

両方ともクラス作成時に挿入されるコメントのテンプレートです。 typecomment は class の上に挿入され typeheader は package の上に挿入されます。

FDT > Code Templates(Misc)

${user} を参照するときに使われる名前を上書き設定します。

FDT > Formatter

Format (Cmd + Shift + F) 時の設定を行います。右側に表示されるプレビューを見ながら設定変更できます。

Indentation

インデントについての設定。タブやスペースの設定やインデントしない部分の設定ができます。

Braces

ブレス後の改行についての設定。function は改行するけど getter/setter は改行しないなどの細かい設定が可能です。

Blank lines

改行についての設定。いらない改行を省いたり、package 前後の改行の設定や最初の変数の定義の前の改行の数の指定や関数との間の改行の数の指定などができます。

White space

空白の設定。型指定の前後の空白の有無や様々な場合の空白について設定できます。

FDT > Core Libraries

プロジェクトごとに設定する Core Library の設定を編集できます。

FDT > Editor

General

Highlight matching Bracket : どの中括弧({})が一致しているかをハイライトするかどうかの設定です。

Colors

カラー設定を行います。

Folding

未確認。

FDT > Editor > Code Assist

Enable auto activation : 自動で補完ダイアログが出現するか設定します。

Auto activation delay : 補完ダイアログが出現するまでのディレイ時間の設定

Auto activation triggers for AS : ActionScript を記述時に補完ダイアログが出現するトリガー文字を指定します。FD の用にタイピング中に補完を出したい場合は abcdefghijklmnopqrstuvwxyz_:. のように記述すればタイピング中に出現するようになります。正規表現で指定ができないようなので、出現させたい文字があれば全ての文字を記述する必要があります。

Auto activation triggers for JavaDoc : javaDoc 記述時のトリガー用文字設定。

Genarate default parameters on function completion : デフォルトの値がある引数も補完するかの設定。通常はデフォルト値がある引数は補完しません。

FDT > Editor > Mark Occurrences

Mark occurrences of the selected element in the current file : 現在開いているファイルで選択中の関数や変数をハイライトするかどうかの設定。

FDT > Editor > Semantic Highlight

カラー設定。設定後、カラーを反映させるにはエディターを一度閉じて開く必要があります。

FDT > Editor > Templates

Code Assist 時に出てくる Templates の管理・編集を行います。FD の snippets のような機能です。

FDT > Editor > Typing

In string literals

Wrap automatically : "" の中で改行した場合に "" + "" の用に自動で閉じるかの設定。

in javadoc comments

Automatically close comments : javadoc コメントを自動で閉じます。(/** の記述後に改行すると下記のようにコメントが閉じられます。javadoc の中で改行すると自動で、* 等を補完します。)

/**
 *
*/

In multiline comments

Automatically close comments : 複数行コメントを自動で閉じます。(/* の記述後に改行すると javadoc の時と同じようにコメントを閉じてくれます。)

/*
 * 
*/

Braces

Automatically close brackets "[", braces "{" and paranthesis "(" : 括弧を自動で閉じるかの設定。

Automatically close strings : 未確認

FDT > Keymanagement

ライセンスの管理とパッケージの機能の制限などを行います。Pro と Enterprise は disable ボタンをクリックすることで機能を切ることができます。体験版を使用して Pure だけの機能を使いたい場合などに設定すると良いかもしれません。

FDT > Misc

Enable working in linked libraries : Linked Library の中のクラスファイルを編集するかどうか設定します。

Ignore files starting with lower case : 検証中

Enable formating of SWC code : swc ファイルのクラスファイルを見る際に Formatter で設定したように整形するかどうか設定します。

Create BOM in as-Files with UTF-8 encoding : as ファイルに BOM をつけるかどうか設定します。

Log incremental build : 検証中
Log full build : 検証中
Log build details : 検証中

Muticore support enabled : マルチコアをサポートする
Automatic select number of cores : コアの数を自動で設定する

FDT > Problems

Error や Warning の設定を行います。FDT のデフォルトはちょっと厳しめなのであまりに Error や Warning が出て嫌な場合はここで設定変更できます。また、プロジェクトごとにも設定を変更できるようになっています。

FDT > Run/Debug

Show load/unload SWF messages in debug console : デバッガ使用時に swf の load や unload をコンソールに表示する

FDT > Run/Debug > Reference Types

まだ未確認

FDT > Tools > Flash

Flash IDE に関する設定を行います。ここで Flash のパスなどを設定してないと fla ファイルをクリックしても IDE で開くことや、IDE でコンパイルする設定をしていても動作しなかったりするので IDE を使用する場合は始めに設定しましょう。

Flash IDE : Flash が格納されている場所を指定します。

Flash Player : Run/Debug 時に起動する Flash Player を指定します。

Flash ASO Directory :

FDT > Tools > Flash Help

Flash Help が格納されているディレクトリを指定します。

FDT > Tools > MTASC

MTASC を使用してコンパイルする際の MTASC の位置を指定します。

Comments : 99, Tags : , Category : Program

FDT Pure を無料で配布しちゃいます

2009年11月04日 09:30

FDT の日本での布教活動の一環として FDT Pure を無料で配布することになりました。

条件としてはもちろん ActionScript を書いている人。

もちろん仕事でなくても構わないし趣味でも全然問題なし。まぁ、できればよく ActionScript を書いていて使用感などをレポートできる人が良いかな。

とりあえず、募集方法は Twitter 上で自分がこれからしばらく不定期で募集をかけるのでその tweet に対して reply で FDT を使いたいんだ!という熱い想いとかを語って下さい。その際に自分のやっていることとかも教えてもらえると選考の基準にもなるので助かります。
※応募の際には #FDT ハッシュタグをつけて下さいね。

FDT Pure は一番下のグレードですけど、以前までは Basic として販売していて自分もしばらく前まではずっと使ってたくらい仕事にも全然活用できるレベルの代物です。機能の比較でも正直あまり変わらないし少し前の記事で紹介している QuickFix も FDT Pure でももちろん使えます。

http://www.fdt.powerflasher.com/developer-tools/fdt-3/features/

--

だいぶ突発的に行ったのですが、いろいろと RT などを頂いたりして一緒に盛り上げてくれた皆さんありがとうございます。
たくさん、ご応募頂きありがとうございました。第一回の当選者が決まりましたので、報告いたしますね。

第一回 FDT Pure 当選者

nbhd さん

nbhd さんには後ほど使用感のレポートなどをあげて頂けると期待しております。もし、分からないことがあれば気軽にご相談下さいね。

ではでは、今回当選できなかったかたも次回以降(あるのか?)のご参加をお待ちしておりますー。

Comments : 99, Tags : , Category : Program

Ant を使って PixelBender の pbj を書き出す方法

2009年10月22日 22:43

PixelBender Toolkit をインストールすると pbutil が同梱されているので CUI で下記のように実行すると sample.pbk を sample.pbj として書き出すことができます。

cd /Applications/Utilities/Adobe Utilities.localized/Pixel Bender Toolkit/
pbutil sample.pbk sample.pbj

毎回叩くのも面倒なので Ant で自動化しちゃいましょう。

<project name="Ant Build" default="pbj compile" basedir="./">
	
	<property name="src.dir" value="${basedir}/../src"/>
	<property name="deploy.dir" value="${basedir}/../deploy"/>
	<property name="pbj.src" value="${src.dir}/example.pbk"/>
	<property name="pbj.output" value="${deploy.dir}/example.pbj"/>
	<property name="pbutil" location="/Applications/Utilities/Adobe Utilities.localized/Pixel Bender Toolkit/pbutil"/>
	
	<target name="pbj compile">
		<echo>pbj compile...</echo>
		<exec executable="${pbutil}" dir=".">
			<arg line="${pbj.src} ${pbj.output}"></arg>
		</exec>
		<echo>Complete</echo>
	</target>
</project>

pb_build.xml

pbj.src でソースコードを指定して、 pbj.output で書き出し先を指定して Ant を実行します。
これで PBDT で保存時に pbj が書き出されない人も PixelBender を毎回立ち上げなくても pbj が書き出せるようになって便利になりますね。
あとは保存時に Ant が走るようにできればもっと便利そうですね。

Comments : 99, Tags : , Category : Program