2010年2月22日月曜日

行列を入れ替える

  1. 入れ替えたい部分を選択してコピー
  2. 変更した項目を挿入したいセルを選択
  3. 右クリックで『形式を指定して貼付け』
  4. 下の方にある『行列を入れ替える』をチェックして貼付け

二度も聞いてしまってスミマセン onz

2010年2月18日木曜日

1180: 未定義である可能性が高いメソッド addFrameScript の呼び出しです。

「1180: 未定義である可能性が高いメソッド addFrameScript の呼び出しです。」

なんぞなんぞと探しまわってたら、ドキュメントクラスが Sprite を継承してた onz

FlashDevelopで AS3 Project を開始すると、メインクラスが Sprite を継承するんですよね。んで、Flash IDE Project でやるときに、ついうっかりやっちゃった次第です。なさけねー。

参考サイト
【AS3.0】ドキュメントに載らないメソッド(addFrameScript)

DisplayObject におけるデストラクタ呼び出し

ActionScript にはデストラクタがなかったはずですが、ちゃんと EventListner をクリアしておかないと、GCの対象にならずにメモリを食いつぶすことがあります。デストラクタがあれば、そこに removeEventListener 関係の仕込を入れておくのですが、残念ながらないと。かといって、都度デストラクタ関数を呼び出すのも面倒です。

で、DisplayObject については、コンテナから remove されたときにイベントを発行してくれるので、Event.REMOVED_FROM_STAGE を設定しておけばいい感じだと思います。remove した displayObject インスタンスを再利用するつもりなら、この限りではないのでご注意を。

  1. package {  
  2.    
  3.  import flash.display.Sprite;  
  4.  import flash.events.Event;  
  5.    
  6.  public class Hoge extends Sprite  
  7.  {  
  8.   public function Hoge():void   
  9.   {  
  10.    addEventListener(Event.REMOVED_FROM_STAGE,   
  11.     function(e:Event):void {  
  12.      removeEventListener(Event.REMOVED_FROM_STAGE, arguments.callee);  
  13.      destruct();  
  14.     }  
  15.    );  
  16.   }  
  17.     
  18.   public function destruct():void   
  19.   {  
  20.    // remove...remove...delete...remove...  
  21.   }  
  22.  }  
  23. }  

Event.REMOVED_FROM_STAGE も、忘れず remove しておきましょう。

2010年2月17日水曜日

ジェスチャー・コンピューティングって言うそうです

g-speak overview 1828121108 from john underkoffler on Vimeo.

ぐへぇ。カッコいい。これにシートを貼り付けるだけでモニタになるやつや、3Dがひっついたらめちゃくちゃかっこいいですよ。

「この機能は5年後には普通のコンピュータに導入されているはず」

今から作業スペースの確保と、筋トレやっといたほうがよさそう。

参考サイト
「マイノリティーリポート」そのものだ!―Oblong、驚異のジェスチャー・コンピューティングをTEDでデモ

2010年2月16日火曜日

ActionScript で定義した JavaScript を実行する

うまい表現がみつからないんですが、そういうことも出来るんだなとわかったのでメモ。

ExternalInterface クラスを利用して、JavaScript 上の任意の関数を呼び出すことができますが、ActionScript 内に JavaScript を記述して、それを実行してやることができます。例えば

  1. ExternalInterface.call("function() { alert('hoge'); }");  

としてやると、JavaScript側に何も書かなくても

と、出してくれます。何か利用出来そうな気がするけど、とりあえず覚えておこう。