雨のち晴れ

ダイビングとITな食生活 – kote2の超個人的な日記

今日買った本

仕事終わって帰ってきたらFlash立ち上げ猛勉強なこてつです。
と言うのも、はやくAirを使ったアプリケーションを作りたいし、可能性を探りたい。

そう言えばiphoneがいよいよ7/11に出るらしいですね。iphoneは分からないけど、こういうリッチなモバイル端末にはAirの実行環境がおそらく載るので、結局デスクトップで動くものがモバイルで動き、作ったアプリが流用できるわけです。FlashのAirがスタンダードになるか分かりませんが、まあ多分なると思う。

てなわけで今日買った本。

Flashデザインラボ -プロに学ぶ、一生枯れない永久不滅テクニック (Design Lab+ 1-2)
デザインラボ編集部
ソフトバンククリエイティブ
売り上げランキング: 480
おすすめ度の平均: 4.5

5 コピーではなく、デザインの種になる
4 抜群のコストパフォーマンス

ActionScript 3.0 逆引きクイックリファレンス Adobe Flash CS3対応
田中 康博 林 拓也
毎日コミュニケーションズ
売り上げランキング: 11690
おすすめ度の平均: 4.0

4 手元に常備したい書。

やっぱりAS3になってから、辞書的な本が必要だと思った。サイト上から参照もできるけど、手元にあってパパっと調べられるのがやっぱ楽。あとは昔から親しまれて今なお使われている表現のtipsなんかを集めた本。なんだかんだ言ってデザイン大事です。

あ、そうそう実はコレも買いました。

ねんどろいど 鏡音リン  (ノンスケールABS/PVC塗装済み可動フィギュア)
ねんどろいど 鏡音レン  (ノンスケールABS/PVC塗装済み可動フィギュア)

どっちかって言うとこっちがメイン・・・。
なわけない┌(`Д´)ノ)゚∀゚ )

届くのは例によって10月だそうです・・・。気長に待とう。

だあぁ!時間切れ!なめんな。

もう寝ないと明日辛い!

livedoorのお天気API使って簡単なお天気表示Airアプリ作成中。
http://weather.livedoor.com/forecast/webservice/rest/v1?city=70&day=tomorrow叩くと横浜の天気の情報がXML形式に吐き出されるのだけど、横浜以外も表示させたいし、他にもいろいろやりたいわけで。というかこのXML整形の仕方が難しい。pearのライブラリ使えばあっという間だけど、レンタルサーバーにpearなんて入ってないので困ってたらSimpleXMLがあったじゃまいか。

でもphp5じゃないと使えない。ロリポはphp4だ。
自宅サーバーにひとまずアップ。AS3をちまちま書いて天気と最低気温くらいは表示できるかテスト。
ってな事やってたら終了。

↓このヘボイ表示のとこでオワタ


(追記)みれねーじゃんwΣ(・ε・;) allowScriptAccessをsameDomainからalwaysにしてるのに・・・ま、いいか。

実際これがアイコン表示され、デスクトップアプリになっていくかも。
phpもしばらく使ってなかったら忘れかけてる。テラオソロシス。

さて、ぼちぼちAirもやりますか

米アドビ、RIA実行環境「AIR」の正式版を公開:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20080226/294751/

ベータ版がいつまで続くのか分からなくて正直バージョンアップされるたびに動かなくなるアプリにうんざりだったのでほったらかしてたAirですが、ようやく正式版が公開になったのでボチボチ何か作っていこうと思う。

なかなか技術文献がまとまってなかったのですが、FlashBlogのLeeさんのまとめPDF(プレゼン資料)が激しく参考になるので熟読熟読。
http://theflashblog.com/files/AIRConditioning.pdf

The Flash Blog
http://theflashblog.com/

で、相変わらずFlexでの開発じゃなくてFlashを使うつもりですが。ま、どっちでもいいんだけど。慣れてるんで。

fladdict 深津貴之氏のプレゼンメモ-Adobe Max 2007

ActionScript3.0の使い方、2.0との使い分けなど語ってくれた深津氏のプレゼンメモっす。

■2.0の特徴
 ⇒バグを見つけにくい
 ⇒いきなり作成でもおk
 ⇒おせぇ
 ⇒小回り聞くからすぐ作れる

結論:
3.0ほどルールが厳密ではないのですぐに何かを動かせる。ただ複雑な処理を伴う計算が施されているものは3.0に書き換えると激早になる。
2.0で作ってから3.0に書き換えるというのもあり。

■3.0特徴
 ⇒バグを見つけやすい
 ⇒作成前に十分な設計が必要
 ⇒はやい
 ⇒使いまわしクラスで開発スピード短縮可能

結論:
Java並みの厳格なルールがあるのでしっかり設計した上で開発しないとあとで泣くハメに。
計算力は2.0の10倍なので無駄なところにマシンパワーを注げる。表現力もアップする。面白いことやりたければ3.0を選択。

■挙動単位でクラスを分けて使う
 ⇒クラスを切り出してスタディー用のクラスを作る

■パラメーターの外部化
 ⇒いろいろなパラメーターは外部XMLファイルで調整。

■使いまわすクラスは厳格な設計
 ⇒ただし、表示部分など演出面を考慮し柔軟性のある設計

■2.0と比べ10倍以上高速化した計算力を何に使うか
 ⇒×3D物理計算(つまんね) ×エフェクト・フィルター(つまんね) ◎マシンパワーの無駄使い(その発想はなかった的な)

■ByteArrayに注目
 ⇒フォトショファイルやイラレファイルを取り込める。また書き出せる。
(例)
Airで作成したランダムで花の模様が現れるアプリをスペースキーで数値書き込み⇒SVGファイル作成
 ⇒できたSVGをイラレで開くとその模様がベクターデータになっている!!すげぇ

AirでWebcameraを使ってキャプチャ画像をjpg保存

Airでwebcameraを使い、キャプチャ画像をデスクトップに保存するサンプルです。

jpeg画像を作成するには事前に画像作成用のライブラリが必要
↓以下からダウンロード
as3corelib – Google Code
http://code.google.com/p/as3corelib/downloads/list

(zipを解凍したらcorelib-.90/corelib/src/comをflaファイルと同じ階層に入れる。)

こんな風にWebcameraを写せます
wp_013.jpg

画面をクリックするとデスクトップにjpgファイルができる
wp_021.jpg

キャプチャした画像
webcam0.jpg

Source:

//--------------------------------------------------
//import
//--------------------------------------------------
//画像作成関連のパッケージ
import com.adobe.images.PNGEncoder;//pngで書き出す場合
import com.adobe.images.JPGEncoder;//jpgで書き出す場合

//ファイルを扱うパッケージ
import flash.filesystem.File;
import flash.filesystem.FileStream;
import flash.filesystem.FileMode;

//--------------------------------------------------
//settings
//--------------------------------------------------
var cam:Camera = Camera.getCamera();
var video:Video = new Video(320,240);
video.attachCamera(cam);
player.vid.addChild(video);

//--------------------------------------------------
//function
//--------------------------------------------------
player.vid.addEventListener(MouseEvent.MOUSE_DOWN , SaveFile);

var count:int = 0;
function SaveFile(e:MouseEvent){
var bmd:BitmapData = new BitmapData(320,240);
bmd.draw(player.vid);
var jpge:JPGEncoder = new JPGEncoder(80);
var img:ByteArray = jpge.encode(bmd);
var file:File = File.desktopDirectory.resolvePath("webcam" + count++ + ".jpg");
var stream:FileStream = new FileStream();
stream.openAsync(file, FileMode.WRITE);
stream.writeBytes(img);
stream.close();
}

Webcams.air(64kb)
Webcams.fla(640kb)

Airで特定のファイルだけドラッグ&ドロップを許可する方法

wp_011.jpg

解説ちょいまち
Source:

//--------------------------------------------------
//import
//--------------------------------------------------
import flash.desktop.DragManager;
import flash.desktop.ClipboardFormats;
import flash.events.NativeDragEvent;

//--------------------------------------------------
//function
//--------------------------------------------------
/***ファイルのDrag&Drop***/
this.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER,onDragIn);
this.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP,onDrop);

/*** flvのみDragover許可***/
function onDragIn(e:NativeDragEvent):void{
var files:Object = e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT);
if(files[0].extension == "flv"){
DragManager.acceptDragDrop(this);//許可
}
}
/*** flvがドロップされたら再生***/
function onDrop(e:NativeDragEvent):void{
var files:Object = e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT);
player.vid.play(files[0].url);
}

FlvPlayer.air(60kb)
FlvPlayer.fla(663kb)

Adobe Air beta2 for Flash CS3 Professional Update

AIR:Flash CS3 Professional Update – Adobe Labs
http://labs.adobe.com/wiki/index.php/AIR:Flash_CS3_Professional_Update

Windows(japanese)
Download the Adobe AIR update Beta 2 for Flash CS3 Professional for Windows (13 MB)

FlashでAirを開発するための拡張機能もアップデートされていました。で、早速アップデートしたのでやり方を書きたいと思います。

まずアップデートされたFlashの拡張機能をインストールするまえに、Air beta1の時使っていたものを削除します。(今回初めて入れる場合は以下の作業は不要)
やり方は2つあって、手動で削除するか、削除ツールを使って削除します。

手動の場合は以下のスクリプトをインストール後に実行させます。

CleanUp Script(japanese)
Download the Beta 1 CleanUp Script(right click/cntrl click and saves as .jsfl) (1KB)

手動で削除する場合はインストールする前に以下の作業を行います。

手動削除のやり方(Windows)
1、
C:\Program Files\Adobe\Adobe Flash CS3\AIK folderを削除

2、
C:\Program Files\Adobe\Adobe Flash CS3\en(or jp)\First Run\Commands\ 以下の
o – AIR folder
o – AIR – Application and Package Settings.jsfl
o – AIR – Package AIR File.jsfl
を削除

3、
C:\Document and Settings\\Local Settings\Application Data\Adobe\Flash CS3\\Configuration\Commands\以下の
o – AIR folder
o – AIR – Application and Package Settings.jsfl
o – AIR – Package AIR File.jsfl
を削除
※隠しファイルで表示されない場合はツール – フォルダオプション – 表示 で保護されたオペレーティングシステムを表示しないのチェックをはずす

4、
C:\Program Files\Adobe\Adobe Flash CS3\\Configuration\External Libraries\FLAir.dllを削除

5、
C:\Program Files\Adobe\Adobe Flash CS3\\Configuration\Players\AdobeAIR1_0.xml を削除

6、その後拡張機能をインストール
Windows(japanese)
Download the Adobe AIR update Beta 2 for Flash CS3 Professional for Windows (13 MB)

デスクトップのテキストファイルをAirで読み込む&表示

wp015.jpg
FlashCS3でAir開発でもうスタンダードになりつつあるこてです。FlexはEclipseっぽくてプログラマーは使いやすいけど、やっぱりデザインから入ってきてる人は普通にFlashがやりやすい。

今回のは晴れをクリックするとデスクトップにあるhello.txtの内容を読み取って表示させるサンプル。

AS3だとやっぱちょっとの事やるのにもエラー出まくるなー
でも一回作ったら汎用できるのはオブジェクト指向の利点か。ちょっとずつ引き出し増やしていくしかないか。

FileSystem.fla(442kb)
Test01.as