Processing 1.0 変更点適当にまとめ

まだ使っていないので Changes 追っかけ。

ライブラリを置いておく場所が変わった

sketchbook folder の中に libraries を掘ってその中に入れてねとのこと。

Mac だとこんな感じかなぁ。

~/Documents/Processing/libraries/${libname}/library/${libname}.jar

XML ライブラリの core へのマージ

いきなり

new XMLElement();

とかやっても怒られない!

実行ファイルとか

  • Mac OS X 版が .app でのバンドル形式になった
  • Windows 版のランチャーが変わった

レンダラ関連

  • OpenGL で smooth がデフォルトになったようです
    • beta の動作に戻すには hint() のリファレンス参照
  • P2D と P3D のレンダラがまた使えるようになった
    • スムーシングも不完全だけど利くよ!

SVG サポート

  • Candy と PShape で SVG が扱えるよ
    • JAVA2D のレンダラがベストで、複雑な SVG は P2D とかだと重いらしい。

PVector

Vector3D みたいなもの

PDE 用 Tools のAPI ができました

Processing のエディタ上のメニューの Tools ってことですね。Auto Format とか Create Font とかのような感じで機能拡張できるみたい。

Tools も Sketchbook フォルダに置いておくようだ。

画像の非同期ロード

最近はやり(?)の非同期読み込みだそうです。requestImage()

国際化

UTF-8 でかけるようになったようです。日本語書いても怒られないようです。

Java

内部の JavaVMJava 6 だけど、Java 1.5 の syntax には未対応(ジェネリクスとか、enumとか)

  • Present モードが変わったらしい
  • Compiler が変わったらしい

はてな新サービス

はてなスター、発想が面白かったもんで調子に乗って自分のところのスターをクリックしたら自分で自分にスターをつけてしまった。。。

消せない…かこわるい。笑


追記:

http://d.hatena.ne.jp/hatenastar/comment?date=20070711#c

同じことした人が多いみたいですね。笑

なんか、かわいい。

[Ruby] DSL な HTML テンプレート

あんまり聞いたことないなぁ、と思うのですよ。テンプレートというより Wrapper なのかなぁ。

例えば、

class TestView < View
  start {
    block { input :title }
    block { textarea :body }
  }
end 

とか書くと、

<div><input name="title" /></div>
<div><textarea name="body"></textarea></div>

みたいな感じの HTML なり何なりを吐くような。

flexmxml でやってることを Ruby で記述するようなイメージ。

デザインとロジックの分離ができないっちゃできないかもしれないですけどねぇ。

AS3 はじめました、FlashVars でハマりました

ActionScript 3.0 はじめてみました。ブームに完全に乗り遅れてますが気にしませんよ。

まずは本家リファレンスですね。便利。重いですけど。

HTML に埋め込むの面倒くさいんでほかではどういう工夫をしてるか軽く調査。ニコニコのソース見たら下記の HTML に Flash を埋め込むスクリプト使ってたので、僕も使ってみた。こんなんあったんだ。全く知らなかった…orz。

var so = new SWFObject( swf_url, name, width, height, version, backgroundcolor );
so.addVariable( "video_id", "123456789" );
so.write( id );

これで object と embed な HTML を吐いてくれてかなりウマー。簡単に FlashVars で値を渡せたりする。

がしかし、肝心の AS 側での FlashVars の取得方法でハマった。

this.root.loaderInfo.parameters

取得できる らしいので、いろいろ試してみたんですが、

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
   creationComplete="init()">
  
  <mx:Script>
    <![CDATA[
      import mx.controls.Alert;
      private function init():void
      {
        Alert.show( String( this.root ) );
      }
    ]]>
  </mx:Script>
	<mx:VideoDisplay id="video"
	  backgroundColor="0xffffff" width="480" height="360" />
        ...
</mx:Application>

上記のような mxmlコンパイル + 実行してみると、this.root で帰っていくるのがなぜか null。 video.root も null。

イベントのタイミングが原因かと予測して initialize のときに init を実行するようにしても結果は変わらず。

わけわかめな状態になっている時に本家リファレンスを flashvars で検索してみたら下記のドキュメントを発見。

一瞬で解決しました。ググってもなかなか見つからなかったんで、ほかの人は普通躓かないところなんですかねぇ。