widgetown 開発チームブログ(仮)

5月 12th, 2008

番外編 AIRのHTMLLoader

Posted by rkoshida in Misc, as3.0

今更ですが AIRのHTMLLoaderです。今更ですが。
早い話が、Webブラウザ。レンダリング機能だけではなくJavaScriptインタプリタとしてもしっかり機能します。

さて、興味本位で、IE、FireFox、AIRのHTMLLoaderぞれぞれで、
確認君(http://www.ugtop.com/spill.shtml)を踏んでみました。
以下、気になったことを…。

・サポート言語(Accept-Language)
送られていないっぽく、情報が空です。
「en-us」ぐらい送ってくれてもいいのに…。

・リファラ(Referer)
:app:/htmlloader_test.swf
デフォルトでは実行中のswfのパスになるようです。

・Cookie(Set-Cookie)
ちゃんとクッキー処理にも対応してますね。

こんなところでしょうか。
ついでにCapabilitiesも確認してみたのですが、なんだか普通でした。
playerTypeが“PlugIn”な点ぐらいですかね。

5月 5th, 2008

flash作っていて幸せなとき

Posted by KOBAYSU in Misc

GWは会社でがっつり実装です。

そんな中、ふと思ったことがあります。

やっぱ、flashってたのまれてもないViewの作り込みをしているときが一番幸せですよね~。

だけど、次回以降まったく同じものが仕様に入るとめんどくさく感じるのはなぜ?七不思議ですね。

4月 28th, 2008

意図的な偏り(傾向)付きの乱数を手軽に生成する

Posted by rkoshida in Misc

便利なライブラリ情報や 最新の動向系のエントリは 他の方が書きまくっていますので、私からは少し違う毛色のエントリを。
ウィジェット、ブログパーツ、或いはサイトFlashの全てにおいて出てくる、「表現」系のお話です。

ちょっとした表現を行おうとすると、例えば「座標」であったり「速度」であったり「角度」であったり「継続時間」であったり「縮尺」であったりの各パラメータに 乱数を使うことが多々あります。
さて、おなじみのMath.random()で生成した乱数というのは、(生成アルゴリズムのマズさから来る偏りという面を除けば)一様に分布します。

ですが、上で挙げたような いわゆる連続量に乱数を適用する際は、意図的な「偏り」というか「傾向」が欲しい場合も多いワケです。
例えば「大きい数の方が小さい数より出やすい」など。

これらを真面目に実装しようとすると、数学の時間にやった 確率密度関数などを復習する必要が出てくるワケですが、「数学キライー!」「だってボク☆文系だもん♪」という方のために、簡単に実装する方法を紹介いたします。

一言で言えば、
「普通に乱数を生成し、そこから “今生成した乱数を最大値とする乱数”を引く」ことで、小さい方に偏る乱数を生成できます。

…文章で説明してもややこしいので、以下コード例。

function inclinationalRandom (max :Number) :Number
{
var result :Number = Math.random();
result -= Math.random() * result;
return (result * max);
}

この方法で、「0以上 10未満」の乱数を8000回生成して適当に整数化した際の出現回数がこちら。

fig00

偏ってますねー。「小さい数が出やすい傾向を持った乱数」の生成、完了です。

しかしこれではいくら何でも偏り過ぎ!…という意見もあるでしょうから、もう少しマイルドにしてみましょう。
ついでに「マイルド度」も指定できるようにしてみましょう。

function inclinationalRandom (max :Number, rate :Number) :Number
{
var result :Number = Math.random();
var incl :Number = result - (Math.random() * result);

result = (result + (incl * rate)) / (1.0 + rate);
return (result);
}

基本的に先程のコードと考え方は同じなのですが

、「偏らせる(小さくい方へ引っ張る)ための数」に倍率を掛けています。
rateを弄ることで「偏り」を調節できます。

rate = 1.0でこんな感じ。
fig01

rate = 2.0はこんな感じ。
fig02

rate = 4.0でこんな感じ。
fig03

ちなみに離散量にも応用できるのですが、長くなっちゃいますのでまたの機会に。

4月 22nd, 2008

AIRコンテスト

Posted by KOBAYSU in Misc

さてwidetown開発チームでAIRコンテストに参加する訳ですが、何つくりましょうかね?

・思い切り技術系、ツール系。(コンポーネントなど)

・ゆるシリーズのような企画おもしろい系。

・まじめ系(gmail checkerとかyoutube Viewerとか)

開発期間のGWももうスグですのでそろそろ決めないと実装担当のコッシーがかわいそうなので決めましょう。シモージーさんとかに案だしてもらいましょうか。

PS クロちゃんがアップはじめました。