Mac OS X で Wii Remote API を使う

投稿者 nanki 2009-03-22 21:22:00 GMT

Canvasを使ったWii用ゲームを作ってみた (Kanasansoft Web Lab.)

Nintendo Wii に載っているOpera にはWii Remote APIなるものがあって、WiiリモコンとCanvasを使って色々できる。

うちには、OperaもWii のコントローラ(だけ)もあるのに、kanasan の力作が遊べないなんて!ありえない!

というわけで、Wii Remote API のふりをするコードを書いてみた。


WiiFake: emulate Wii Remote API on Mac OS X. from NANKI Haruo on Vimeo.

requires at runtime

How to use.

  1. Copy WiiRemote.framework to your ~/Library/frameworks/ directory.
  2. WiiFake を落としてくる。
  3. Wii リモコンの 1 2 keyを押したままサーバを起動する。
    $ ruby server.rb
  4. このbookmarkletを起動 WiiRemote bookmaklet
  5. 必要に応じてページの初期化処理を呼び出す。
    (上記kanasanのページだと、javascript:initialize())

仕組み

bookmarklet で読み込んだ WiiProxy.swf から localhostに立てたRubyサーバに繋いで、JSON形式で受け取った情報を、javascriptの世界に渡しているだけです。

テスト

Safariでしかテストしてない;;

画質のテストのため、同じムービーをYoutubeにもアップロードしてみた。

参考:

今日のActionScript - 三角形の外心

投稿者 nanki 2009-03-21 23:45:00 GMT

三つの点はドラッグ可能。

circumcenter - wonderfl build flash online

参考:

flex2 & actionscript3(2)

投稿者 nanki 2005-12-05 18:07:00 GMT
particle = new Particle();
particle.mixin(Grabbable);

とやると、掴んで動かせるような再利用可能なライブラリを書いてみた。

まともにECMAScriptを触るのは初めてだが、ActionScript はclass{} 記法も使えるし、動的に拡張できるので、ruby のような言語を使ってれば、悩むことはあまりない。(と思う)


flex2 & actionscript3

投稿者 nanki 2005-12-03 12:10:00 GMT

ActionScript で全てを記述する世界はどんなものなのかと、ちょっと触ってみた。

Eclipse3.1 にプラグインが入らなかったのでスタンドアロン版を起動する。

簡単なテストコードみたいなのを書いて実行する。

package {
  import flash.display.MovieClip;
  import flash.display.Sprite;

  public class actionscript extends MovieClip {
    public function actionscript() {
      for(var i = 2;i < 10; i++){
        var particle:Particle = new Particle();
        addChild(particle);
      }
    }
  }

  private class Particle extends Sprite{
    public function Particle(){
      x = Math.random() * 100;
      y = Math.random() * 100;
      this.graphics.beginFill(0xffffff,0.5);
      this.graphics.drawCircle(0,0,8);
      this.graphics.endFill();
    }
  }
}

こんな感じで、半透明の丸がちらほら表示される。

ちょっとはまったのは、Particle Classをpublic にすると、自動でインスタンスが生成されてしまい、意図した動作にならなかったこと。

自分で生成をコントロールする場合はprivate にしましょう、ということらしい。ふーん。


Flash 8

投稿者 nanki 2005-10-06 07:24:00 GMT

Flash8 の新機能のFilterで遊んでみた。

Typo でSWF をインラインで表示する方法がなかったので、マクロを書いてみた。

こんなタグを書くだけでSWF が貼り付けられるようになった。

<typo:swf path="/files/depth_blur.swf"/>

やっぱ楽だ。 MovableType にしなくてよかったぜ。

finalRealityのパクリ

念仏を12回唱えたのと同じ御利益