— boreal-kiss.com

Archive
2008年4月 Monthly archive

Keith PetersのBIT-101 Blogで配布されている画像等を魚眼レンズのように歪ませるカスタムクラスが手軽で面白い。例えばこの画像が

Hay Bails - Full Panoramic
Hay Bails – Full Panoramic on Flickr – Photo Sharing!

こうなる。

Hay Bails - Polar Distorted

歪ませるターゲットはDisplayObjectを継承していれば何でもOKなので、例えばテキストなんかにも適用できる。変形のターゲットを決めて(下の例の場合 var img:Bitmap)、render関数を用いて書き出し用BitmapData(下の例の場合 var bmpd:BitmapData)にレンダリングするだけ。面白いのはrender関数の第四引数の選び方。trueで画像の上側を円中心(例の写真の場合、空側を円中心)、falseで円外側に書き出す。ここの選び方で出来上がったイメージの雰囲気がガラっとかわる。

package {
    import flash.display.Sprite;
    import flash.display.BitmapData;
    import flash.display.Bitmap;
    import com.bit101.PolarDistort;

    public class PolarDistortDemo extends Sprite{
        
        [Embed(source="img/panoramic.jpg")]
        private var IMG:Class;
        
        public function PolarDistortDemo(){
            var img:Bitmap = new IMG();
            var pd:PolarDistort = new PolarDistort(img);
            var bmpd:BitmapData = new BitmapData(400,400,true,0x00FFFFFF);
            pd.render(bmpd,0,0,true);
            addChild(new Bitmap(bmpd));
        }
    }
}
Read More

得体の知れないサイトの<script>や<iframe>等を実行させないようにするFirefoxのプラグイン「NoScript」というものが話題になっていたので使ってみた。これを「正しく」使えば、某サイトに不正にインジェクションされたscript等でオンラインゲームのアカウント情報が盗まれたりすることは無くなる。プラグインの場所は以下の通り。

Firefox 用アドオン > おすすめの拡張機能 > NoScript

使ってみた感想は「不便」。これでいつも巡回してるサイト見てごらんよ。おそろしい数のscript(Google adsenseやらアクセス解析やら)が表示不可になってて、何にもできない。友達のブログなんて10個ぐらい別ドメインのscript埋め込まれてて、普段見ていた状態に復元するためにはそれらを手動で表示許可していかないといけなかった。さらにAjaxで動作してる部分なんかも動かなくなるもんだから(例えばはてなブックマークのタグ一覧表示)、初見でブラウジングしているサイトの本来の見た目や利便性が見えてこない。その結果、自分の欲するサイトなのかどうなのか判断をミスる可能性が出てくる。で、結局面倒くさくなって「全てのサイトを許可する」を選んでNoScriptを無効にする、のではなかろうか。一の害を避けるために百の利益を逃してもいいなら使ってもいいかもね〜。

「NoScript」という名前自体が気にいらない。すでに<noscript>という固有名詞があるのに何故重複させる。ややこしいわい。あと最後にこのプラグイン、FLASH表示設定のオンオフ機能まである。FLASHで悪さなんかできねーよ!!!

[関連リンク]
「Firefoxを使い続けるための“お勧め”設定」 , NoScriptを組み込んでいないFirefoxは使用停止に:ITpro

[追記2008/05/02]
強制的に再生されるEmbedタグ等で埋め込まれたmp3を遮断できるので意味なくはないっぽい。例えばyoupy.tumblr.comを開いて恥ずかしい思いをしなくて済む。(ほんとに恥ずかしいので音量注意)

Read More

3Dオブジェクトの頂点座標を記述したXMLファイルを読み込んで描画させるFLASHを作ったので多面体を色々作成中。面白い形状ができれば随時展示していく予定です。

[FLASH]geoms
[FLASH]geoms

Read More

理想的にはクラス内のプロパティは全てprivateにして、クラス外部からプロパティに直接アクセスさせず、かわりにgetter/setterメソッドと呼ばれる関数を用いてプロパティの参照や変更を行うことがOOPで推奨されてるらしい。直接アクセスされて不都合がある理由はよくわからんが、こういった慣例には従っておいた方がよいだろう。

オブジェクト指向プログラミングを実践する際には、クラスのプロパティに直接アクセスすることは推奨されません。クラスではよく、特定のプロパティの読取り用のアクセスに”get”メソッド、書込み用のアクセスに”set”メソッドを定義するということが行われます。

FN0311009 – 黙示的なget/setメソッド – Flash : テクニカルノート

ところでこのsetter/getterメソッドで使う関数名、なんと操作したいプロパティ名と同じ関数名をつけれない。これじゃ使い物にならんがな、と思ってたけどKeith Petersがプロパティ名の頭にアンダースコア(“_”)をつける方法で解決してた。例えばmessageというプロパティにsetter/getterメソッドを用いる場合、こんな感じ。

package{
    public class SomeClass{
        
        private var _message:String;
        
        public function SomeClass(){
            //Some codes here.
        }
        
        public function set message(s:String):void{
            _message = s;
        }
        
        public function get message():String{
            return _message;
        }
    }
}

これで、クラス外部でこのプロパティ値を変更したい場合はsetter関数経由で

var sc:SomeClass = new SomeClass();

//same as sc.message("Shut the fuck up!!");
sc.message = "Shut the fuck up!!";

クラス外部でこのプロパティ値を参照したい場合はgetter関数経由で

//same as trace(sc.message());
trace(sc.message);

なるほど、getter/setterメソッドを用いる場合のプロパティにはアンダースコアを付けるように決めてしまえば、以下のようにソースを見て混乱することもないし、しかもAS2をやってる人には馴染み深いしね。いいチップだ。

getter メソッドと setter メソッドは便利ですが、多用しすぎるとコードの保守が困難になる場合もあるので注意が必要です。

adobe – getter メソッドと setter メソッドについて

Read More

曲線を複数つかって面を表現するのが面白い。単純な材料による予期せぬコンプレックス、というか。これはなんとなく和太鼓のちっちゃいやつ(名前知らん)を最初のイメージとして出来上がったやつ。左のスライダーで回転速度、右のスライダーで太鼓の底辺位置を決定。例によって多関節ラインを用いているので底辺の位置によっては面白い表面が描けるかも。ロクロみたい。あと最近シアン(#00FFFF)がお気に入りカラー。

[FLASH]太鼓
[FLASH]太鼓

Read More
管理画面 > 設定 > ディスカッション > 投稿のデフォルト設定

ここの一番上の

投稿中からリンクしたすべてのブログへの通知を試みる (投稿に時間がかかります) 

のチェックをはずす!!!MTから記事を移行させたらステータスが「公開」になってなかったのかな。それで全記事手動で公開にしたわけよ。そしたらリンク張ってあった全URLに再トラックバック。今回はサーバー移行があったから移転の予行演習で作ったWPも全部トラックバックしてると思う。うへへへ。

(WordPress 2.5の場合)

Read More

ちょこちょこっと書いたソースコードをhtml化してくれるWEBサービス「唐辛子」が超便利。対応言語も豊富で僕が使うものはとりあえず全部あった。

ブログなどにソースコードを貼り付けるのに便利なコンバーターです。ソースコードをHTMLにタグ付けします。

【対応言語】
JavaScript, XML/HTML, CSS,Flex, ActionScript2/3, BASIC(Visual Basic, VB.NET, VBA), PHP

ソースコード HTML化 コンバーター「唐辛子」

ActionScript 3.0だとこんなかんじ。CSSファイルを利用しないように設定できるのがいいね。

package {
    import flash.display.Sprite;  
    import flash.text.TextField;  

    public class HelloWorld extends Sprite {
        public function HelloWorld() {
            var t:TextField = new TextField();
            t.text = "Hello World!";
            addChild(t);
        }
    }
}

[関連リンク]
犬小屋ブログ: ブログに貼り付けるソースコードのHTML化に

Read More

インバースキネマティクス(inverse kinematics)に興味あってKeith Petersの本を読みあさってた。FLASHへの導入は思ってたより簡単な仕組みだったのでびっくり。インバースキネマティクスは簡単に説明すると、例えば操り人形の手の部分がここにあった場合、人形の他の部分がどこにあるのが最適かを求めるようなもの。肩がここにあったら肘がここにきて、手首がここにきて指先がここにくる、って順序がfowardって意味でinverseね。

  • foward問題は「こういう体型のピッチャーが投げました。球速は?」
  • inverse問題は「時速150kmの玉を投げるピッチャーがいます。体型は?」

って感じ。イメージ湧くかな?でこのFLASHは関節を複数持ったラインを用意して先端から順次位置を決めていくのでinverseなわけ。

[FLASH]Moist Moss
[FLASH]Moist Moss

Read More

自分のMuxtapeをブログに貼付けるサービスを提供しているサイトを発見。(文章から察するにリリースしていると思われるが…)

改造した点は、RSS から JSON に変換した事と、ページ内に複数貼れるようにしたこと。好きなテープを好きなだけ貼る事が出来ます!
MUXTAPE Anywhere | YungSang’s

自分のサイトで流せるっていうのは便利だわ。以下の二つのjsファイルをインクルードするだけで簡単。USERIDの部分はMuxtapeのアカウントIDね(例 borealkiss.muxtape.comだったらUSERIDはborealkiss)。どのタイミングでUSERID.jsは作成されてるのだろう。

<script type="text/javascript" src="http://yungsang.com/js/jquery.js"></script>
<script type="text/javascript" src="http://yungsang.com/muxtape/USERID.js"></script>

ということでここのサイトも貼付けてみました(borealkiss.muxtape.com)。リストだけじゃ誰も聴かないと思ったのである程度イメージつくような紹介文を付与していこうかと思っています。Muxtapeって何?って方は以下の引用文を参照ください。つまりそういうこと。

オリジナルテープを編集して人に無理くり聴かせてキモがられたりがウェブで簡単にできるMuxtape。
Muxtape (ノーマル)

Read More

倉持結香さんってアイドルがうちのブログパーツ使っててくれて、そのブログがとある事件でYahoo!やらmixiやらのニュースの標的になったもんだから大変。うちのブログパーツが表示負荷に耐えきれずサーバー会社からクレームが来てアカウントを凍結されたりなんだりしてました。んーYahoo!砲・mixi砲はすげーなあ。元々負荷には過敏なサーバーだったので懸案事項だったのです。ということでハッスルサーバーからさくらインターネットに移転しました。中々スムーズに表示されているので満足。ある程度の負荷にも耐えてくれるとよいのだけど。

ブログの移転ということで思い切ってブログソフトウェアをMovableType3.3からWordPress2.5に変更。サーバー引越の祭に一番心配だった名記事のパーマリンクの引き継ぎだけど、思ってたより簡単だった。MTのエントリーアーカイブのパーマリンクは

/%y/%m/%d%h%n%s%x

としていたので、WordPressのパーマリンクを

/%year%/%monthnum%/%day%%hour%%minute%%second%.html

と設定。これでパーマリンクの引き継ぎは完了。データベースが結構しっかり細分化されてるからCMSとしてはMTより使い勝手よさそう。ほんと負荷だけが心配。

[関連リンク]
“女子高生グラドル”倉持結香が痴漢撃退
倉持結香の【ユカ専用ブログ。】(`・ω・´):倉持結香です。「痴漢を捕まえた」

Read More