— boreal-kiss.com

Archive
2008年5月 Monthly archive

Tumblrに自分がポストした画像最新6件を表示するブログパーツ。Papervision3Dのせいなのかよくわからんけどある程度のマシンパワーが必要みたいなので実用度は高くないかも。各面をクリックでそのポストURLへとびます。[FLASHブログパーツ]Tumblr Cube

Read More

完成品がこちら。どうだエロいだろう。PHPで作る必要があるのかと言われると、うーん。たぶんJavaScriptオンリーでTumblr情報取得->画像表示とするのがスマートなのかな。

以下ファイルを設定・実行すると画像表示に必要なhtml(下記例では”photo_table.php”)を書き出すので、それを表示したい場所にincludeすればOK。書き出しを定期的に自動で行わせたい場合はCRON等を使用。下記コードではLightbox2の利用を想定しているので、書き出したファイルのimgタグ内にrel=”lightbox”という属性が付く。不要であれば適宜除去。XML解析にはSimpleXMLというモジュールを使用しているのでPHP5以上が必要。

ファイルの設定箇所

  1. TumblrのUSERIDを設定(http://USERID.tumblr.com)
  2. 取得ポスト数を設定
  3. ポストの種類を設定(フォトギャラリーを作成するなら再設定不要)
  4. ギャラリーのサムネイルサイズを設定(75, 100, 250, 400, 500のみ)
  5. サムネイルクリックで表示される画像サイズの設定(75, 100, 250, 400, 500のみ)
  6. 書き出しファイルの名前(と必要であればファイルパス)。デフォルトでは同じディレクトリに作成。ファイル書き出しを行うので書き出し先ディレクトリに書き込み権限を与えることを忘れずに。
<?php

//(1) Set your Tumblr ID
define('USER_ID', 'borealkiss');

//(2) Set the maximum item number
define('MAX_NUM', '30');

//(3) Set the post type.
//You don't need to change as long as you are making a photo gallery.
define('POST_TYPE', 'photo');

//(4) Choose the thumbnail size of each image (75,100,250,400, or 500)
define('THUMBNAIL_SIZE', '75');

//(5) Choose the image size in the gallery (75,100,250,400, or 500)
define('GALLERY_SIZE', '400');

//(6) Define a file name for image tabels
define('FILENAME', 'photo_table.php');

$fp_out = fopen(FILENAME, 'w');
$req1 = 'num='.MAX_NUM;
$req2 = 'type='.POST_TYPE;
$req_url = 'http://'.USER_ID.'.tumblr.com/api/read?'.$req1.'&'.$req2;
$xml = simplexml_load_file($req_url);

foreach ($xml->posts->post as $post){
        
    //get the attribute
    $permalink = $post['url'];
    
    foreach ($post->{'photo-url'} as $url){
        foreach ($url->attributes() as $key=>$value){
        
            if ($key == 'max-width' && $value == GALLERY_SIZE){
                fwrite($fp_out, '<a href="'.$url.'" rel="lightbox" title="'.$permalink.'">');
            }
            else if ($key == 'max-width' && $value == THUMBNAIL_SIZE){
                fwrite($fp_out, '<img src="'.$url.'" border="0"/></a>');
            }
        }
    }
}

fclose($fp_out);
?>

[関連リンク]
Tumblr API reference (JP)

Read More

ただ古い曲をアップしても面白くないので、酷似している二曲を聴き比べしてみよう。アメリカ(1993)とドイツ(1975)の作品。「盗作」と言うと聞こえが悪いので、「オマージュの度合いが著しい」ことにする。簡単な曲紹介文も付けてあるので是非その耳でジャッジしてみてください。

»»» Muxtape

Read More

ブログパーツでFLASHを別ドメインで表示させる時、読み込み外部ファイルがある場合はそのファイルのロケーションをURLで指定しないといけない(相対パス不可)。URLでの指定はディレクトリの変更があった場合に柔軟に対処できないので極力避けたい。じゃあSWFに埋め込んでしまおうと思い、XMLファイルの埋め込み方法で悩んだ。FlexのEmbedメタタグはデフォルトでXML形式のデータを理解しないので、形式を気にせずとりあえず読み込ませてその後XMLに強制変換してやる必要がある。

埋め込みに使用する MIME タイプは application/octet-stream として指定する必要があります。これにより、バイトデータは、解釈されずにそのまま埋め込まれます。

mx.core.ByteArrayAsset (Flex 3)- adobe

ソース内部で型を変換できるタイプのデータだったらなんでもいけるっぽい。XMLデータ埋め込みの例は以下の通り。

package {
    public class myClass{

        [Embed(source="mydata.xml", mimeType="application/octet-stream")]
        private var myData:Class;

        public function myClass(){
            var myXML:XML = new XML(new myData());
        }
    }
}
Read More

マウスとの距離によって多面体がグルグル回る鑑賞用ブログパーツ。背景を透明にしてみた。回転速度はやすぎ?貼付けコードはこちら

[関連リンク]
FLASH geoms

Read More

AS3をはじめたら真っ先にやりたいと思っていたことの一つ、サウンドのスペクトラム化にやっと手が出せた。残念なことにAS3からmp3以外の音源が利用できないみたいで、これはループサウンドをスムーズに再生できないことを意味する(mp3は曲頭と最後にどうしても空白ができてしまう)。それともmp3を途切れなく演奏する技術があるのだろうか。よくわからん。

スペクトラム化自体はそれほど難しくなくて以下の参考サイトとadobeのリファレンスで間に合った。というかサウンド関連は教本にはなってなさそう。それはつまりFLASHではサウンドがビジュアルのおまけ程度に考えられているからであって、その辺の簡単な考察はAS3で扱うサウンド – Flash OOP Japanが参考になる。

[FLASH]Vespers
[FLASH]Vespers

[関連リンク]
AS3でサウンドスペクトラムを視覚化する – flashrod
The Flash Blog » Flash 9 Sound Spectrum!

Read More