社外研修ということで、3時半会社を抜け出して、お台場へ。
近いから、ワンメーターで行けるだろうとタクシーで行った。
1700円。考えが甘かった。
■セッション 1 After Effects超映像術
さすがCMとかを手がけてる人、合成とかすごかった。
モーショントラッキングのデモで、お台場空撮動画で
北京五輪の「巨人の足跡花火」を再現した。
会場大爆笑。
深い所まで掘り下げないが、
After Effectsを使ってみるきっかけになる良いセッションだった。
■セッション 2 AIRによるエンターサプライズ
アメリカ人のセッションなので、通訳のトランシーバーが用意された。
聞いてみたら、スピーカーは日本語でしゃべってた。
日本語、下手。
言いたい事が明確に伝わらない。
期待した内容でもなかった。
明日二日目、待望のセッション、
PhotoShop vs Firework最終決着! 楽しみ。
土曜日はF-siteのセミナーに行く。
3日連続のイベント。
われながら、このクソ忙しい中、やるな。
ブログ更新! 一ヶ月近くの放置プレイだった。
久しぶりにAdobeのAIRサイトに行ったら、ギャラリーが出来。
だいぶ増えたね、AIRの作品。
参考書を探しても、ほとんどFlexをメインで開発してるみたい(かな?)。
Flashで作る人って、果たしてどのぐらいの割合がいるかと、
マイノリティーになることを危惧してる自分がいた。
参考例を探してたら、仲間を発見!
FlashでAIR作りたい人のメモ
もっともっと、仲間が増えるように。
ちなみに、今日インスコしたAIR:Flickr Desktop Search
ブラウザとまったく変わらないが、最近家族と写真共有してるから、
入れておくと便利。
お待たせ致しました。Action Scriptネタです。
しかもいきなり3.0で、っていうかAIRです。
そう、そう、あのAIRだよ。Adobe AIRだよ。
Windowsなら設定でファイルのフルパスを見れるけど、
Macはその機能がないんだよね。
仕事であのファイル、なんたらサーバーのあんたらフォルダに
突っ込んどいたよって伝えるのがなかなか大変だった。
なので、試しに簡単なものを作ってみた。
MacPath.air
アプリの青いところに、
ファイル・フォルダをドロップすると、
フルパスが表示して、勝手にクリップボードにセットする。
あとはメーラーなり、エディタなりに貼り付けばよいのだ。
ちなみに、ソースは
// 必要なパッケージのインポート
import flash.desktop.NativeDragManager;
import flash.desktop.NativeDragActions;
import flash.desktop.Clipboard;
import flash.desktop.ClipboardFormats;
import fl.containers.UILoader;
import flash.desktop.NativeApplication;
// ドラッグイン
this.dd.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, dragEnter);
// ドロップ
this.dd.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, dragDrop);
// ウインドウの移動
this.applicationBG.addEventListener(MouseEvent.MOUSE_DOWN, moveApplication);
//終了ボタン
this.btn_quit.addEventListener(MouseEvent.CLICK, QuitMacPath);
//ドラッグインした時に呼び出される関数
function dragEnter(event:NativeDragEvent):void {
// クリップボードの取得
var dropData:Clipboard = event.clipboard;
// ドラッグ可能かどうかのチェック
if (dropData.hasFormat(ClipboardFormats.FILE_LIST_FORMAT)) {
// ムービークリップへドロップ
NativeDragManager.acceptDragDrop(this.dd);
}
}
//ドロップした時に呼び出される関数 (マウスボタンを離した時)
function dragDrop(event:NativeDragEvent):void {
// ドロップされた画像ファイルのパスを取得
var droplist:Array = event.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
var ChangeWord = droplist[0].url;
//取得した文字列をデコードする
ChangeGo(ChangeWord);
}
//窓をドラッグ
function moveApplication(e:MouseEvent):void {
stage.nativeWindow.startMove();
}
function ChangeGo(hiki:String){
var escape_str:String = hiki;
var pattern:RegExp = /%¥d{2}([a-zA-Z])/g;
var unescape_str:String = unescapeMultiByte(escape_str.replace(pattern, replace_ascii));
var NewPath:String = unescape_str;
picnum.text = NewPath;
Clipboard.generalClipboard.setData(
ClipboardFormats.TEXT_FORMAT,NewPath);
}
//文字列をデコード
function replace_ascii():String {
return arguments[0].substring(0, 3) + "%" + arguments[1].charCodeAt(0).toString(16);
}
//アプリを終了
function QuitMacPath(e:MouseEvent):void {
NativeApplication.nativeApplication.exit();
}
ちなみに、パスを取得するとUTF-8 に変換されちゃうので、
Shift-JISに再変換しようとしたら、
unescapeMultiByteの不具合でつまずいた。
んで、こちらのブログに解決方法が乗ってるので、
変換関数を拝借させていただきました。
http://wakuworks.jugem.jp/?eid=113