<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>studio-hedgehog blog</title>
    <link rel="alternate" type="text/html" href="http://www.studio-hedgehog.com/blog/" />
    <link rel="self" type="application/atom+xml" href="http://www.studio-hedgehog.com/blog/atom.xml" />
    <id>tag:www.studio-hedgehog.com,2007-12-11:/blog//2</id>
    <updated>2008-05-08T09:15:31Z</updated>
    <subtitle>それでもFlashが好きなんだと思う。</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Publishing Platform 4.01</generator>

<entry>
    <title>ズームブラーと回転ブラー</title>
    <link rel="alternate" type="text/html" href="http://www.studio-hedgehog.com/blog/2008/05/post-30.html" />
    <id>tag:www.studio-hedgehog.com,2008:/blog//2.235</id>

    <published>2008-05-08T08:02:22Z</published>
    <updated>2008-05-08T09:15:31Z</updated>

    <summary>「画像処理プログラミング」のAS実装第3回目。 今回はズームブラーと回転ブラーに...</summary>
    <author>
        <name></name>
        <uri>http://www.studio-hedgehog.com/blog/</uri>
    </author>
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.studio-hedgehog.com/blog/">
        <![CDATA[<p>「<a href="http://www.amazon.co.jp/gp/product/4797344377?ie=UTF8&amp;tag=hedgehog-22&amp;linkCode=as2&amp;camp=247&amp;creative=1211&amp;creativeASIN=4797344377">画像処理プログラミング</a>」のAS実装第3回目。</p>

<p>今回はズームブラーと回転ブラーに挑戦してみました。ズームブラーは<a href="http://www.studio-hedgehog.com/blog/2008/05/post-29.html">前回</a>のマスクパターンを利用したエフェクトの応用で、サンプルとする画素を画像の中心から放射状に並ぶ形で取得し、加重平均平滑化を行っています。</p>

<p>回転ブラーは上記のように取得したサンプルの画素に、更に90度加算してやるだけで実現できます。</p>

<p><a rel="shadowbox; width=415; height=235" href="http://www.studio-hedgehog.com/blog/swf/BlurTest.swf"><img src="http://www.studio-hedgehog.com/blog/imgs/20080508-01.jpg" height="235" width="415" /></a><br /><a href="http://www.studio-hedgehog.com/blog/as/BlurTest.as">BlurTest.as</a><br /><a href="http://www.studio-hedgehog.com/blog/as/ZoomBlur.as">ZoomBlur.as</a></p> 

<p>んー、前回に比べると、実行速度がとても遅い感じ。どこか処理を間違っているのかなぁ？</p>

<p>こういうエフェクトを実用したい方は、popforgeに<a href="http://blog.je2050.de/imageprocessing-library/">Imageprocessing Library</a>というのがあって、その中にZoomBlurとRadialBlurというクラスが用意されているようなので、試してみるといいかもしれませんねー。（このライブラリはswcファイルによる提供で、多分Flex用。詳しいことは分かりませぬ。）</p>

<p>余談ですが、<a href="http://www.studio-hedgehog.com/blog/as/ZoomBlur.as">ZoomBlurクラス</a>は書籍掲載のサンプルコードに倣って、for文内で使うローカル変数をそのブロックの外でごっそりと定義したのですが、大量のデータを走査する場合は、こういうスタイルがプログラムの実行速度に影響を及ぼすのでしょうか？<br />
僕は大抵for文内で変数定義をしているのですが。</p>]]>
        
    </content>
</entry>

<entry>
    <title>TextMateはとても惜しいASエディタ</title>
    <link rel="alternate" type="text/html" href="http://www.studio-hedgehog.com/blog/2008/05/astextmate.html" />
    <id>tag:www.studio-hedgehog.com,2008:/blog//2.234</id>

    <published>2008-05-05T17:17:32Z</published>
    <updated>2008-05-05T19:05:03Z</updated>

    <summary>via  Using TextMate for ActionScript 3 D...</summary>
    <author>
        <name></name>
        <uri>http://www.studio-hedgehog.com/blog/</uri>
    </author>
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.studio-hedgehog.com/blog/">
        <![CDATA[<p><a href="http://theflashblog.com/?p=376">via  Using TextMate for ActionScript 3 Development</a> (<a href="http://theflashblog.com/?">The Flash Blog</a>)</p>

<p><a href="http://macromates.com/">TextMate</a>がASエディタとしてとても優秀ということなので、とりあえずインストールしてみました。ちょっと試してみたところ、パッケージのimportを自動的に追加/削除してくれないのと、そして何よりもコードヒントが出ないのが非常に残念なところです。ただ、メニューを眺めた感じだと、その他の機能はかなり充実してそうですね。</p>

<p>価格はシングルライセンスだと$62。Flex Builderに比べればかなり安価。でもコードヒントの表示機能がないのはかなり痛いから、結局今のところはFlex BuilderがMacの最強ASエディタかなー。</p>

<p style="margin: 25px 0pt;"><a rel="shadowbox; width=850; height=396" href="http://www.studio-hedgehog.com/blog/imgs/20080506-02.gif"><img src="http://www.studio-hedgehog.com/blog/imgs/20080506-04.gif" height="200" width="540" /></a><br />キャプチャ1</p>

<p><a rel="shadowbox; width=658; height=677" href="http://www.studio-hedgehog.com/blog/imgs/20080506-03.gif"><img src="http://www.studio-hedgehog.com/blog/imgs/20080506-05.gif" height="200" width="540" /></a><br />キャプチャ2</p>
]]>
        
    </content>
</entry>

<entry>
    <title>マスクパターンを用いたエフェクト処理</title>
    <link rel="alternate" type="text/html" href="http://www.studio-hedgehog.com/blog/2008/05/post-29.html" />
    <id>tag:www.studio-hedgehog.com,2008:/blog//2.233</id>

    <published>2008-05-05T14:44:02Z</published>
    <updated>2008-05-05T16:16:53Z</updated>

    <summary> 前回に続き、画像処理の練習です。 今回は「マスクパターン」と呼ばれるものを用い...</summary>
    <author>
        <name></name>
        <uri>http://www.studio-hedgehog.com/blog/</uri>
    </author>
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.studio-hedgehog.com/blog/">
        <![CDATA[ <p><a href="http://www.studio-hedgehog.com/blog/2008/04/post-28.html">前回</a>に続き、画像処理の練習です。</p>

<p>今回は「マスクパターン」と呼ばれるものを用い、各々の画素にエフェクトを適用する際に、そのピクセルだけではなく、周辺の画素の値も考慮して計算を行っています。</p>

<p><a rel="shadowbox; width=415; height=235" href="http://www.studio-hedgehog.com/blog/swf/EffectTest.swf"><img src="http://www.studio-hedgehog.com/blog/imgs/20080506-01.jpg" height="235" width="415" /></a><br /><a href="http://www.studio-hedgehog.com/blog/as/EffectTest.as">EffectTest.as</a><br /><a href="http://www.studio-hedgehog.com/blog/as/ImageEffects.as">ImageEffects.as</a></p>

<p>「加重平均平滑化」は、少々効果が分かりづらいかもしれませんが、元の色をできるだけ保持しつつ、色の変化を緩やかにしてくれるという、要するにブラーみたいな効果ですね。</p>

<p>getPixel()、setPixel()を多用しているので、色々と高速化の余地はあるのでしょうが、まぁとりあえず基本っていうことでご容赦ください。<br />それと今回用いたマスクパターンは基本的な一例です。詳しく知りたい方は、<a href="http://tinyurl.com/4llu5v">「ラプラシンフィルタ」とかで検索</a>してみると、色々と勉強になることが分かるのではないかと思います。</p>

<p>最後に、まったくの余談ですが、サンプルで使っているなんだかエッチい感じの女の人は、レナという名前だそうで、<a href="http://tinyurl.com/25zpqv">こういう理由</a>から画像処理をするときのサンプルの定番らしいです。<br /><a href="http://www.lenna.org/full/l_hires.jpg">ホントにエロイ人（18禁）</a>だったんですねー。</p>]]>
        
    </content>
</entry>

<entry>
    <title>線形関数による色調変換</title>
    <link rel="alternate" type="text/html" href="http://www.studio-hedgehog.com/blog/2008/04/post-28.html" />
    <id>tag:www.studio-hedgehog.com,2008:/blog//2.232</id>

    <published>2008-04-30T09:21:38Z</published>
    <updated>2008-04-30T15:16:30Z</updated>

    <summary>なんか最近はJavaScriptの本を読んでみたり、Processingを触って...</summary>
    <author>
        <name></name>
        <uri>http://www.studio-hedgehog.com/blog/</uri>
    </author>
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.studio-hedgehog.com/blog/">
        <![CDATA[<p>なんか最近はJavaScriptの本を読んでみたり、Processingを触ってみたりと、まったくもって節操のない感じですが、懲りずに「<a href="http://www.amazon.co.jp/gp/product/4797344377?ie=UTF8&amp;tag=hedgehog-22&amp;linkCode=as2&amp;camp=247&amp;creative=1211&amp;creativeASIN=4797344377">詳解 画像処理プログラミング C言語で実装する画像処理アルゴリズムのすべて</a>」という本を購入してみました。</p>

<p>ジュンク堂で平積みにされているのを目にし、ほとんど衝動買いに近い状態で購入しましたが、こういう無理めな本を買うにはイキオイも必要かと思うのですよ。</p>

<p>サンプルがC言語で書かれていることもあり、やはりそれなりに難しいのですが、Photoshop等の画像処理専用のアプリによってブラックボックス化されている一連の処理も、当然プログラムで実行されているわけで、そういうアルゴリズムをFlashでも実現できたらかなり役に立つのではないかと思います。</p>

<p>そんなわけで初歩の初歩ですが、線形関数を用いた色調変換に挑戦してみました。</p>

<p><a rel="shadowbox; width=650; height=230" href="http://www.studio-hedgehog.com/blog/swf/toneCalibration.swf"><img src="http://www.studio-hedgehog.com/blog/imgs/20080430-01.jpg" height="230" width="400" /></a><br /><a rel="shadowbox; width=650; height=230" href="http://www.studio-hedgehog.com/blog/swf/toneCalibration.swf">toneCalibration.swf</a></p>

<p>右下がりのラインにすると、ネガ化処理とかできますね。</p>

<p>色調変換の部分はこんな感じです。</p>
<pre>/* 
  pixelsにはgetPixel()で取得した24ビットカラーの値を、
  r, g, bの各々のプロパティとして保持したオブジェクト
  を格納してあります。
*/
var len:uint = pixels.length;
for (var i:uint = 0; i &lt; len; i++) {
	var rgb:Object = pixels[i];
	var x:uint = i % bmd.width;
	var y:uint = Math.floor(i / bmd.width);
	
	// rgbの全てに対し、線形処理を行い、24ビット16進数の形に戻す
	var calibratedColor:uint = ColorConversion.rgbToHex24(calibrateColor(rgb.r), calibrateColor(rgb.g),　calibrateColor(rgb.b));
	
	// レンダリング
	bmd.setPixel(x, y, calibratedColor);
}

// 色調変換用の関数
function calibrateColor(color:uint):uint {
	// y1はトーンカーブの始点のyの値
	// y2はトーンカーブの終点のyの値
	// それぞれ0〜255の範囲でマッピングしてあります
	return ((y2 - y1) * color) / 255 + y1;
}
</pre>]]>
        
    </content>
</entry>

<entry>
    <title>使ったオモチャを自分で後片付けする</title>
    <link rel="alternate" type="text/html" href="http://www.studio-hedgehog.com/blog/2008/04/post-27.html" />
    <id>tag:www.studio-hedgehog.com,2008:/blog//2.231</id>

    <published>2008-04-29T08:46:04Z</published>
    <updated>2008-04-29T09:51:59Z</updated>

    <summary>一端のFLASHerとして、「メモリーリークが発生しないように、使ったオモチャの...</summary>
    <author>
        <name></name>
        <uri>http://www.studio-hedgehog.com/blog/</uri>
    </author>
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.studio-hedgehog.com/blog/">
        <![CDATA[<p>一端のFLASHerとして、「メモリーリークが発生しないように、使ったオモチャの後片付けは忘れずにしましょうね」ということでIDisposableというインターフェースを用意し、そこで定義されたdisposeと名付けたメソッドに、イベントリスナーの登録解除等を実装するようにしたりしてました。</p> 

<p>今までこのメソッドは親のディスプレイオブジェクトから、このオブジェクトをremoveChildするタイミングでコールすることが多かったのだけれど、そうではなく自分自身のremovedFromStageイベントにリスナーとしてdisposeを登録しておけば、せっかく実装したメソッドを呼び忘れることが少なくなるのではないかと思うのだけれど、どうだろう？</p>

<pre>public class DragTest extends Sprite implements IDisposable {

  // コンストラクタ
  public function DragTest() {
    stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);
    // removedFromStageイベントにdisposeをリスナーとして登録しておく
    addEventListener(Event.REMOVED_FROM_STAGE, dispose); 
  }
  
  // IDisposableで定義したメソッドを実装
  public function dispose(event:Event = null):void {
    stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);
  }

  /*  
    このリスナーの登録を解除し忘れると、
    イベントターゲット(この場合stage)はsomeObjectへの参照を保持し、
    メモリーリークの原因となる（はず）
  */
  private function mouseMoveListener(event:MouseEvent):void {			
     someObject.someMethod();
  }


  // 以下略
}
</pre>

<p>IDisposable.as</p>
<pre>package  {
 
  import flash.events.Event;
  
  public interface IDisposable {
    function dispose(event:Event = null):void
  }
	
}
</pre>]]>
        
    </content>
</entry>

<entry>
    <title>非同期に発生するイベント？</title>
    <link rel="alternate" type="text/html" href="http://www.studio-hedgehog.com/blog/2008/04/post-26.html" />
    <id>tag:www.studio-hedgehog.com,2008:/blog//2.230</id>

    <published>2008-04-27T01:59:45Z</published>
    <updated>2008-04-27T02:34:17Z</updated>

    <summary> 先日も紹介したサイ本のイベントハンドラの解説の一部に、 ドキュメントのロードと...</summary>
    <author>
        <name></name>
        <uri>http://www.studio-hedgehog.com/blog/</uri>
    </author>
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.studio-hedgehog.com/blog/">
        <![CDATA[ <p>先日も紹介した<a href="http://www.amazon.co.jp/gp/product/4873113296?ie=UTF8&amp;tag=hedgehog-22&amp;linkCode=as2&amp;camp=247&amp;creative=1211&amp;creativeASIN=4873113296">サイ本</a>のイベントハンドラの解説の一部に、</p>
<blockquote>ドキュメントのロードと解析が終了すると、onloadイベントハンドラが呼び出され、JavaScriptはイベント駆動型に切り替わります。つまり、マウスの移動やクリック、キーの押下に応じてイベントハンドラが非同期に実行されるようになります。</blockquote>
<p>という記載があった。</p>
<p>僕はこれまで非同期イベントという言葉を、関数がトリガーされてから、その結果が戻ってくるまで、予測する事はできないけれど、ある程度の時間的遅延を要するイベント、みたいな意味で使っていた。具体的には、外部画像やXMLの読込みや、DBからのデータ取得といった処理をする際に、コールバック関数を登録するようなイベント - 例えばonResultとかonLoad等 のことだ。</p>

<p>上記の解説では、「イベントが非同期に発生する」のであって、「非同期イベント」とは言っていない。つまり、「非同期」という言葉を、明らかに異なるタームで使っているので、僕の考える「非同期イベント」も強ち間違いではないと思うのだけれど、これからは少し気をつけて、「非同期」という言葉を使おうかなと思った、そんな日曜日の朝でした。</p>]]>
        
    </content>
</entry>

<entry>
    <title>spotlightの検索範囲をカスタマイズ</title>
    <link rel="alternate" type="text/html" href="http://www.studio-hedgehog.com/blog/2008/04/spotlight.html" />
    <id>tag:www.studio-hedgehog.com,2008:/blog//2.229</id>

    <published>2008-04-27T01:24:54Z</published>
    <updated>2008-04-27T01:39:30Z</updated>

    <summary> 久しぶりにMacネタ。 Macのspotlightは、予め検索範囲の領域が指定...</summary>
    <author>
        <name></name>
        <uri>http://www.studio-hedgehog.com/blog/</uri>
    </author>
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Mac" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.studio-hedgehog.com/blog/">
        <![CDATA[ <p>久しぶりにMacネタ。</p>

<p>Macのspotlightは、予め検索範囲の領域が指定されていて、場合によっては探したいファイルが見つからなかったりします。例えばFlashのローカル共有データを格納している.soファイルも検索に引っかからないし、Adobe Media Playerでダウンロードした.flvファイルも然りです。</p>

<p>そんなわけで、Highlight。spotlightの検索範囲に追加したい領域のインデックスを、GUI操作で作成してくれるフリーツールです。</p>

<p>
<a href="http://homepage.mac.com/superpixel/highlight/"><img src="http://www.studio-hedgehog.com/blog/imgs/20080427-01.gif" width="142" height="142" /></a><br />
<a href="http://homepage.mac.com/superpixel/highlight/">Highlight.app</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>My iTunesウイジェット</title>
    <link rel="alternate" type="text/html" href="http://www.studio-hedgehog.com/blog/2008/04/my-itunes.html" />
    <id>tag:www.studio-hedgehog.com,2008:/blog//2.228</id>

    <published>2008-04-26T06:05:51Z</published>
    <updated>2008-04-26T08:49:53Z</updated>

    <summary> iTunesがウィジェットの提供を開始していたので貼ってみました。Last.f...</summary>
    <author>
        <name></name>
        <uri>http://www.studio-hedgehog.com/blog/</uri>
    </author>
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Web" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.studio-hedgehog.com/blog/">
        <![CDATA[ <p>iTunesがウィジェットの提供を開始していたので貼ってみました。<a href="http://www.lastfm.jp/">Last.fm</a>みたいに、自分のPCで最近聴いた曲のリストを表示するのかなと思ったけれど、iTunes Storeでの購入履歴と、同ストアでのレビューをソースにしているだけで、あまり面白くないです。</p>

<p>まぁ、おされなミュージックラバーな方は、自分のセンスをアピールすることができていいかもしれませんね。なんか僕のウィジェットには、mihimaru GTの「気分上々↑↑」が表示されているのが、もの凄く恥ずかしいのですが、コレは知人に頼まれて買いましたですよ。いやホントに。</p>

<p>FLASH的には、<a href="http://www.studio-hedgehog.com/blog/2008/02/mouseleave.html">以前エントリーした</a>ように、スクロールバーのステージ<strike>外でのマウスリリースに対し、</strike>外におけるドラッグの停止処理がされていないのが少し残念ですが、そんなこと普通は気にしないか。</p>

<p><a href="http://www.apple.com/jp/itunes/myitunes/">My iTunesウィジェット</a>

</p>]]>
        
    </content>
</entry>

<entry>
    <title>JavaScript 第5版</title>
    <link rel="alternate" type="text/html" href="http://www.studio-hedgehog.com/blog/2008/04/as.html" />
    <id>tag:www.studio-hedgehog.com,2008:/blog//2.227</id>

    <published>2008-04-19T18:25:15Z</published>
    <updated>2008-04-26T07:32:43Z</updated>

    <summary>深い意味はないんだけれど、サイ本の名で知られる、オライリーのJavaScript...</summary>
    <author>
        <name></name>
        <uri>http://www.studio-hedgehog.com/blog/</uri>
    </author>
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Web" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.studio-hedgehog.com/blog/">
        <![CDATA[<p>深い意味はないんだけれど、<a href="http://www.amazon.co.jp/gp/product/4873113296?ie=UTF8&amp;tag=hedgehog-22&amp;linkCode=as2&amp;camp=247&amp;creative=1211&amp;creativeASIN=4873113296">サイ本</a>の名で知られる、オライリーのJavaScriptの定番書を読んでいる。最初は基本的なことが中心で退屈だけれど、ASでも使える意外な小ネタを見つけることができたりするのが楽しい。</p>

<p>例えば、演算子のこんな使い方とか。</p>

<p>Dateオブジェクトを比較演算子で比べる</p>
<pre>var yesterday:Date = new Date(2008, 4, 19);
var today:Date = new Date(2008, 4, 20);
var tomorrow:Date = new Date(2008, 4, 21);
trace(yesterday &lt; today);  // output true
trace(tomorrow &lt; today);  // output false
</pre>

<p>論理和演算子を使い、いくつかの候補の中からfalseに変換されない値を代入する</p>
<pre>var max_width1:int;
var max_width2:int = 300;

var max:int = max_width1 || max_width2 || 500;
trace(max);  // output 300
</pre>

<p>プログラム言語としてのJavaScriptについてきっちりと書かれているので、相乗効果でActionScriptの勉強にもなり、一石二鳥な感じです。</p>]]>
        
    </content>
</entry>

<entry>
    <title>不要になったScenObjectを削除する</title>
    <link rel="alternate" type="text/html" href="http://www.studio-hedgehog.com/blog/2008/04/scenobject.html" />
    <id>tag:www.studio-hedgehog.com,2008:/blog//2.226</id>

    <published>2008-04-17T21:11:40Z</published>
    <updated>2008-05-02T16:46:14Z</updated>

    <summary> seyselfさんの「シーンの動的生成と削除」を読んでいて、はたと気づいた。「...</summary>
    <author>
        <name></name>
        <uri>http://www.studio-hedgehog.com/blog/</uri>
    </author>
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.studio-hedgehog.com/blog/">
        <![CDATA[ <p>seyselfさんの「<a href="http://blog.seyself.com/2008/04/post_2008040718.html">シーンの動的生成と削除</a>」を読んでいて、はたと気づいた。「そーいえば、自分も<a href="http://www.studio-hedgehog.com/kazekotoba/">kazekotoba.</a>で動的に生成したSceneObjectを削除するの忘れてた…」。まー、AS3ではよくある話ですよね？ねっ？</p>

<p>kazekotoba.の場合は、indexシーン直下にPostSceneという投稿記事表示用のScenObjectを都度動的に生成し、ボコボコとaddChildしているだけなのですが、ある投稿記事から別の投稿記事へとシーン移動した際に、以前のPostSceneを削除しなければならなかったのです。</p>

<p>で、ちょっとまた微妙なコードになってしまったけれど、一応削除できたコードがコレ。PostSceneの_onInitメソッドです。</p>
<pre>protected override function _onInit():void {
  addCommand(
    new Func(this, function():void {
      // 前のScenObjectを取得
      var previousScene:SceneObject = this.previous;
      // このオブジェクトでなかったら、parent(indexシーン)から削除
      if (previousScene != this) this.parent.removeChild(previousScene);
      })
  );
}
</pre>


<p>で、こっちがウマくいかなかったコードです。onUnloadのタイミングで自分自身をサクっと削除してもらいたかったけどダメでした。コレ結構考えそうな気がするので、一応晒しておきます。</p>
<pre>protected override function _onUnload():void {
  addCommand(
    new Func(this, function():void {
      // this.parent、thisともに参照はできてますが、意図した通りに動きません。
      this.parent.removeChild(this)
    })
  );
}
</pre>

<p>indexシーンの方に不要になったSceneObjectを削除するコードを書きたかったのですが、これもウマい方法が見つかりませんでした。ということで、毎度言い訳満載で申し訳ありませんが、「コイツはこんなヘンテコなやり方なのね」くらいで読んでくれると、気持ち的に楽な感じです。</p>

<p style="border:1px solid #000; padding:10px;">2008/05/03追記<br />
このやり方で前のSceneObjectを削除すると、ブラウザの戻るボタンや、Flashのコンテクストメニューの「前に戻る」ボタンをクリックしたとき、戻るべきシーンがすでに存在せず、結果としてページ移動が行われなくなってしまうことが判明。<br />
seyselfさんがわざわざ中継用シーンを用意しているのは、こういうことなのかなぁ？うーむ。
</p>]]>
        
    </content>
</entry>

<entry>
    <title>SecurityError?</title>
    <link rel="alternate" type="text/html" href="http://www.studio-hedgehog.com/blog/2008/04/securityerror.html" />
    <id>tag:www.studio-hedgehog.com,2008:/blog//2.225</id>

    <published>2008-04-16T16:45:38Z</published>
    <updated>2008-04-16T18:45:43Z</updated>

    <summary> kazekotoba.のコンテンツが表示されないケースがあって調べているんだけ...</summary>
    <author>
        <name></name>
        <uri>http://www.studio-hedgehog.com/blog/</uri>
    </author>
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.studio-hedgehog.com/blog/">
        <![CDATA[ <p><a href="http://www.studio-hedgehog.com/kazekotoba/">kazekotoba.</a>のコンテンツが表示されないケースがあって調べているんだけれど、RemotingConnectionオブジェクトがAMFのgateway.phpに接続するところで、SecurityErrorEventが送出されてしまっていることが分かった。</p>

<p>最近のFlash Playerのセキュリティーの変更に関係あるのかなぁ、と思うのだけれど、Player 9.0.115でも9.0.124.0でも問題なくgatewayに繋がる環境もあれば、繋がらない環境もあるのが非常に悩ましい。</p>

<p>大体自分のドメイン（http://studio-hedgehog.com）においてあるswfから、同じドメイン内にあるgateway.php(http://studio-hedgehog.com/amfphp/gateway.php）に接続するのに、セキュリティー違反も何もないと思うんだけれど。</p>

<p>そんなわけでもう5、6時間ハマったきり。せっかくProgression Frameworkの制作事例に掲載していただいただけに、なんとかしたいです。</p>

<p>【追記】<br />
まさかと思って、<a href="http://www.studio-hedgehog.com/crossdomain.xml">クロスドメインポリシーファイル</a>を置いたら直りました。本当にクロスドメイン問題だったみたいorz。<br />
</p><pre>&lt;?xml version="1.0"?&gt;
&lt;cross-domain-policy&gt;
&lt;allow-access-from domain="*.studio-hedgehog.com" /&gt;
&lt;/cross-domain-policy&gt;
</pre>

でもなんでだろう？レンサバで、独自ドメインを取得してる場合は、クロスドメインポリシーファイルに、取得したドメインを指定しておかなければダメってことなの？DNSの問題？解決したけど納得いかないよ。


]]>
        
    </content>
</entry>

<entry>
    <title>Adobe Media Playerメモ</title>
    <link rel="alternate" type="text/html" href="http://www.studio-hedgehog.com/blog/2008/04/adobe-media-player.html" />
    <id>tag:www.studio-hedgehog.com,2008:/blog//2.224</id>

    <published>2008-04-15T19:13:30Z</published>
    <updated>2008-04-15T20:18:23Z</updated>

    <summary>【ダウンロードしたflvファイルの保存場所】 [Mac] /Users/(use...</summary>
    <author>
        <name></name>
        <uri>http://www.studio-hedgehog.com/blog/</uri>
    </author>
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.studio-hedgehog.com/blog/">
        <![CDATA[<p>【ダウンロードしたflvファイルの保存場所】<br /><br />
[Mac]<br />
/Users/(user name)/Library/Application Support/Adobe/Adobe Media Player/Local Store/cache/<br />
<br />
[Win]<br />
C:\Documents and Settings\(user name)\Application Data\Adobe\Adobe Media Player\Local Store\cache\<br /><br />
に保存される。ユーザ側で保存場所を変更することはできないっぽい。
</p>
<p>【DRM配信】<br /><br />
<a href="http://www.adobe.com/jp/products/flashmediarightsmanagement/">Flash Media Rights Management Server</a>が必要。価格は546万円。うひょ！</p>

<p>【HE-AAC】<br /><br />
mpeg4標準音声規格AAC(Advance Audio Codec)の拡張。HEはHigh Efficiencyのこと。iPodで視聴できるビデオはFair PlayがかかっていなければAMPでも再生できるが、iPod、iTunesがHE-AACをまだサポートしていないため、今のところ相互互換性は完全にはない。</p>

<p>【H.264】<br /><br />Flash PlayerはH.264のアルファチャンネルは未対応。今後サポート予定
</p>

<p>【感想】<br /><br />AppleがiPhone SDKで開発したアプリを流通・課金できるプラットフォームを用意するとかって話みたいに、個人レベルのビデオ作品も著作権が保護された上で、課金もできるような環境が整えば、もう少し幸せな世の中になるんじゃないのかなぁ？</p>]]>
        
    </content>
</entry>

<entry>
    <title>Learning Actionscript 3.0: A Beginner&apos;s Guide</title>
    <link rel="alternate" type="text/html" href="http://www.studio-hedgehog.com/blog/2008/04/learning-actionscript-30-a-beg.html" />
    <id>tag:www.studio-hedgehog.com,2008:/blog//2.223</id>

    <published>2008-04-14T18:59:12Z</published>
    <updated>2008-04-14T23:15:47Z</updated>

    <summary>Learning Actionscript 3.0: A Beginner&apos;s ...</summary>
    <author>
        <name></name>
        <uri>http://www.studio-hedgehog.com/blog/</uri>
    </author>
    
        <category term="Books" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.studio-hedgehog.com/blog/">
        <![CDATA[<p><a href="http://www.amazon.co.jp/gp/search?ie=UTF8&keywords=Learning%20Actionscript%203.0%3A%20A%20Beginner%27s%20Guide%20&tag=hedgehog-22&index=english-books&linkCode=ur2&camp=247&creative=1211">Learning Actionscript 3.0: A Beginner's Guide </a></p>

<p>FlashBlogの人が<a href="http://theflashblog.com/?p=366">「コリンには悪いけど、いまんとこAS3本ではコレ最強！」と絶賛</a>していたので、オーダーしてみました。</p>

<p>Beginner's Guideというサブタイトルを冠してはいるものの、OOP的なアプローチで解説されており、プロのFLASHerの方にとっても、ナイスなリファレンスとして重宝されるのでは、と。</p>

<p>そして特筆すべき点として、オライリーが遂にフルカラーのプログラム本を出したことを挙げています。おかげで掲載されているサンプルコードも、FlashのActionScriptパネルと同様のカラーリングだとか。ナイス。</p>

<p>円高のウチに買っとく？</p>

<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=hedgehog-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=059652787X&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe>]]>
        
    </content>
</entry>

<entry>
    <title>マリオカートWii</title>
    <link rel="alternate" type="text/html" href="http://www.studio-hedgehog.com/blog/2008/04/wii.html" />
    <id>tag:www.studio-hedgehog.com,2008:/blog//2.222</id>

    <published>2008-04-14T14:39:02Z</published>
    <updated>2008-06-27T18:07:20Z</updated>

    <summary>土日で食べたご飯。野菜炒め定食 x 1。バナナ x 4。 寝食も忘れてゲームにハ...</summary>
    <author>
        <name></name>
        <uri>http://www.studio-hedgehog.com/blog/</uri>
    </author>
    
        <category term="Misc" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.studio-hedgehog.com/blog/">
        <![CDATA[<p>土日で食べたご飯。野菜炒め定食 x 1。バナナ x 4。</p>
<p>寝食も忘れてゲームにハマったのは久しぶりかも。</p>
<p>それでもレーティングは6500辺りを行ったり来たりです。</p>
<p>廃人コースに足を踏み入れる危険性があるので、マリカー購入はお勧め致しません。</p>

<p><a href="http://www.nintendo.co.jp/wii/rmcj/">マリオカート Wii</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>Perfumeとピノと僕と</title>
    <link rel="alternate" type="text/html" href="http://www.studio-hedgehog.com/blog/2008/04/perfume.html" />
    <id>tag:www.studio-hedgehog.com,2008:/blog//2.221</id>

    <published>2008-04-10T12:04:43Z</published>
    <updated>2008-04-10T15:35:06Z</updated>

    <summary>ニコニコにPerfumeの新曲のPVがうpされていた。冒頭でピノっぽいアイスを食...</summary>
    <author>
        <name></name>
        <uri>http://www.studio-hedgehog.com/blog/</uri>
    </author>
    
        <category term="Misc" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Web" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.studio-hedgehog.com/blog/">
        <![CDATA[<p>ニコニコにPerfumeの新曲のPVがうpされていた。冒頭でピノっぽいアイスを食べるシーンがあって、いま流行りのプロダクトプレイスメントとかいうやつかと思ったら、<a href="http://www.pino-ptv.jp/">思いっきりタイアップ</a>だった。</p>

<iframe src="http://www.nicovideo.jp/thumb/sm2951252" style="border: 1px solid rgb(204, 204, 204); margin: 10px;" frameborder="0" height="176" scrolling="no" width="312"></iframe>

<p>特設サイトの充実ぶりを見ると、今回のPerfumeの起用は、単に「いま人気上昇中だから」ってこと以上に、Perfumeというキャラに好感度を持っているであろう、オタクやテッキー系の人たちのネットリテラシーの高さを知った上で、そこからリーチしていこうという、かなりしたたかとも言える構想があっての決定なのかなぁと。まぁ、広告のことなんて、全然分からないけど。</p>

<p><a href="http://www.pino-ptv.jp/">PTV</a><br />
<a href="http://www.mtvjapan.com/special/ptv/video.html">MTV Japan特設ページ</a>
</p>

<p>ここから駄文。<br />ピノで思い出したけど、昔ピノは当たり付きだったような気がする。</p>

<p>当時僕はまだ幼稚園児で、青森に住んでいた。ある日家の裏にある駄菓子屋でピノを買って帰ってきた。箱を開けると「当たり」の文字があり、その箱を持ってまた駄菓子屋に行き、別のピノをもらって帰ってきた。</p>

<p>そして、2個目のピノを開けると、なんとまた「当たり」。三たび駄菓子屋に行き、3個目のピノをもらい、今度はその場で箱を開けると、またまた当たり。</p>

<p>結局その駄菓子屋のピノが全部当たりで、何個当たりが出たかは憶えていないけれど、最終的には別のアイスをもらった。そのピノじゃない別のアイスも当たりなんじゃないかと思ったが、さすがにそれはなかった。</p>

<p>そこで、「ピノ　当たりつき」でググったら、こんなのを見つけた。</p>

<blockquote>
ピノ（Pino）、森永乳業のアイスクリームのこれのこと。あれ、子供の頃は当たりつきだっ ... とにかくピノは当たりつきだったんだ。だが、人気商品には模造品もつきもの。もっのすごーくよく似たアイスだった可能性も…。
</blockquote>

<p>あのアイスが、偽ピノだったのかどうかは僕にも分からない。</p>]]>
        
    </content>
</entry>

</feed>
