福岡でダカフェ写真展を見る

お盆に福岡に帰ったとき、ちょうどダカフェ日記+広松木工家具の展示をやってた。写真も家具も本当に良かった。木枠の風合いが写真とマッチしてて、かなり素敵だった。本の印刷も色がしっかり出てて好きだったけど、展示写真のように大きく引き伸ばして見せられると思わず見入ってしまうほど。家具のほうは座椅子とかシェルフとか結構ぐっと来るものがあって、次に引っ越すときは色々買いたいなぁと。値段もすごい。
2007年7月14日(土)~9月2日(日) 11:00~20:00
BiVi福岡にて
CASAを使ってPHPとやりとりする
通常はsendAndLoadを使うけど、CASAを使うともっと手軽に出来ます。new VarsLoad()の第1引数でPHPのパスを指定し、第2引数で「GET」か「POST」の送信方法を指定する。myVarsLoad.setValue(“text”, “Hello World”);でPHPに渡したい値を指定する。第1引数が変数名で第2引数が値になる。
PHPからの返り値を受け取るにはコンプリートハンドラーの中でthis.myVarsLoad.getValue(“text”)とすればよい。この場合の引数はPHPから返ってくる変数名を指定する。ちなみにPHPからの返り値を全て見たいときはtrace(this.myVarsLoad.$receive)とすればよい。さらにPHPから返ってくるオブジェクトそのものを見たいときは前回のエントリーでも書いたObjectDumper.toString()メソッドを使うと一発で理解できる。trace(ObjectDumper.toString(myVarsLoad, true, true));とすれば中身が丸見え。
CASA使うとコード量が格段に減ってすっきりするので気持ちよい。
import org.casaframework.load.data.VarsLoad;
//-----[初期設定]
var myVarsLoad:VarsLoad;
//-----[ボタンクリックでPHPと通信]
btn.onRelease = function()
{
myVarsLoad = new VarsLoad("やりとりしたいPHPのパス", "GET");
myVarsLoad.addEventObserver(_root, VarsLoad.EVENT_LOAD_COMPLETE, "onDataLoad");
myVarsLoad.setValue("text", "Hello World");
myVarsLoad.start();
}
//-----[ロード完了]
function onDataLoad(sender:VarsLoad):Void
{
trace(this.myVarsLoad.getValue("text"));
}
Sparkてら子 勉強会
8/12に東京てら子が開催されることになりました。ものすごいメンバーが集まるのでかなり期待です。Flashの勉強会にちょこちょこ顔を出すようになって、少しづつ繋がりができてきたなぁと実感。当日皆様のお越しをお待ちしております。
au 新コンセプトモデル
Appleに対抗してか、UI重視のコンセプトモデル3種が発表された。確かに尖ってるけど、正直どうなのかな。iPhoneみたいな衝撃はないなぁと。カタチがどれも見たことあるし。携帯はもっともっとシンプルで良いと思う。
ロモフィルター
ロシアのトイカメラLOMOで撮影したような効果を与えるフィルターを作ってみた。全体的にハイコントラストにして四隅が暗くなるように調整。勝手にロモフィルターと命名することに。
LomoFilter.as
import flash.geom.Matrix;
class info.five.as2.filters.LomoFilter
{
function LomoFilter()
{
trace("LomoFilterクラスの読込完了");
}
//------------------------------
// LomoFilterセット関数
// mc:ムービークリップ
// vol:ボリューム(1.0~2.0)
//------------------------------
function setLomoFilter(mc:MovieClip, vol:Number)
{
mc.createEmptyMovieClip("lomo", mc.getNextHighestDepth());
mc.lomo.blendMode = "overlay";
with(mc.lomo)
{
fillType = "radial";
colors = [0x000000, 0x000000, 0x000000];
alphas = [0, 100, 100];
ratios = [0, 150, 255];
spreadMethod = "pad";
interpolationMethod = "RGB";
focalPointRatio = 0;
matrix = new Matrix();
matrix.createGradientBox(mc._width*vol, mc._height*vol, 0, (mc._width-mc._width*vol)/2, (mc._height-mc._height*vol)/2);
beginGradientFill(fillType, colors, alphas, ratios, matrix, spreadMethod, interpolationMethod, focalPointRatio);
moveTo(0, 0);
lineTo(0, mc._height);
lineTo(mc._width, mc._height);
lineTo(mc._width, 0);
lineTo(0, 0);
endFill();
}
}
}
flaの1フレーム目に以下のコードを書く。
import info.five.as2.filters.LomoFilter; var lomo:LomoFilter = new LomoFilter(); lomo.setLomoFilter(thumb1, 1.4); lomo.setLomoFilter(thumb2, 1.4); lomo.setLomoFilter(thumb3, 1.4); lomo.setLomoFilter(thumb4, 1.4);
setLomoFilter()の第1引数はmcのインスタンス名。第2引数はフィルター量になってます。(1.0~2.0くらいで)もうちょっとぼけ具合とかピンホールとか色々弄りたかったけど、やりすぎない程度にしてみました。
オブジェクトの中身を調べる
Object型の変数をトレースすると[object Object]としか表示されず、いまいち中身が良く分からない。中のプロパティを確認したいときに使うのが「ObjectDumper.toString()」メソッド。トレース時にこれを使うと中身が一発で見れて便利よ、と。
import mx.data.binding.ObjectDumper;
var obj:Object = new Object();
obj.title = "aaa";
obj.description = "sss";
obj.date = "ddd";
trace(ObjectDumper.toString(obj, true, true));//{date: "ddd", description: "sss", title: "aaa"}
ダイナミックテキストに網掛け
ダイナミックテキストにビットマップ塗りでマスクをかけて網掛け状態にしてみる。
上記のような斜線のpngを用意してライブラリに読み込んでおく。リンケージ名を「bg04.png」にして、「ActionScriptに書き出し」、「最初のフレームに書き出し」にチェックを入れる。あとは1フレーム目にコードをコピペ。フォントの埋め込みはしていません。
import flash.display.*;
import flash.geom.*;
//-----[初期設定]
var textW:Number = lineText._width;
var textH:Number = lineText._height;
var theMatrix:Matrix = new Matrix();
var theColTrans:ColorTransform = new ColorTransform();
var bmd:BitmapData = BitmapData.loadBitmap("bg04.png");
//-----[マスクの作成]
_root.createEmptyMovieClip("mask", 0);
mask._x = lineText._x;
mask._y = lineText._y;
mask.cacheAsBitmap = true;
lineText.cacheAsBitmap = true;
mask.clear();
mask.lineStyle();
mask.beginBitmapFill(bmd, theMatrix, true, true);
mask.moveTo(0, 0);
mask.lineTo(textW, 0);
mask.lineTo(textW, textH);
mask.lineTo(0, textH);
mask.lineTo(0, 0);
mask.endFill();
mask.setMask(lineText);
※macで見るとマスクが吹っ飛んで、何も表示されないみたい。cacheAsBitmapを両方ともtrueにしてるんだけどこれが表示されない原因ぽい?winとmacで仕様が違うのか?何でじゃー!?
Firefox アドオンを色々試す
アドオンをあちこちから探して、自分的必須機能を整理してみる。今のところこれだけ入れてます。他に便利そうなのがあったら教えてください、誰か。
・Firebug 日本語版出てます。
・Flash Switcher プレイヤーのバージョンチェックに必須。
・Flash Tracer ブラウザでtrace表示。
・GMarks 会社と自宅で共通ブックマーク。
・GooglePreview google検索結果にサムネイル表示。
・IE View Firefoxから、さっとIE起動。
・Japanize ページごと日本語に変換してくれたり、してくれなかったり。
・QuickRestart Ctrl+Alt+Rで一発再起動。
・Tab Mix Plus タブ機能をきめ細かく設定可能。
・TwitterFox Twitterはこれで確認。
・ViewSourceWith 好みのエディターでソース表示。
・Web Developer 色んなチェックができる。
・翻訳パネル ポップアップ翻訳が便利すぎ。
FlashTracerがwinで動作しない件
先日FlashTracerがうまく動作しない、という話になったので自分なりの解決法を紹介。
まずはFlashTracerをダウンロード。ここからデバッグプレイヤーも同時にインストールしておく。
Firefox
表示 → サイドバー → Flash Tracer を選択。(ショートカット Alt+A)
Flash Tracer
Options → Select output file のパスを下記のように変更する。
C:\Documents and Settings\user_name\Application Data\Macromedia\Flash Player\Logs\flashlog.txt
FlashPlayer9からログファイルの場所が変更されたらしい。詳しくはkamijoさんのブログ参照。上記パスに「flashlog.txt」ファイルが存在しない場合はテキストファイルを作成する。この設定でtrace文を表示できるようになるはず。

