Cocos2d for iPhone メモ

iPhoneの2Dゲームライブラリ、Cocos2dについて自分用メモ代わりにとりあえずリンク集的に。

公式

http://www.cocos2d-iphone.org/
8月18日時点での最新は0.8.1βのようです。
サンプルプロジェクトも同梱されているのでビルドすれば色々試せる。
0.8.1からテンプレートを作成するシェルスクリプトが同梱されているらしい。
追記:8月20日時点で0.8.1-rcです。

Google Code Archive - Long-term storage for Google Code Project Hosting.
GoogleCodeから一式Download可能

Wiki

http://www.cocos2d-iphone.org/wiki/doku.php/
一番情報がまとまってる模様。

プロジェクトテンプレート

cocos2d導入キット for Xcode プロジェクトテンプレート - Seasons.NET
0.72用と0.8用が配布されています。

A-Liaison BLOG: cocos2d for iPhone Project Template v0.8 真似して作ってみました
上記テンプレを改造して0.8リリース版に対応してます。

DoxygenでDocumentを用意

A-Liaison BLOG: cocos2dのドキュメントをdoxygenで生成してみました
http://www.cocos2d-iphone.org/archives/358
Xcodeからドキュメントいつでも参照できたほうがいいのでやっておく。
Doxygen公式
Doxygen: Main Page
http://www.zone0.ne.jp/2006/doxygen01.html
このあたりの解説を参考にしつつ

$sudo port install doxygen

documentationプロジェクトの情報からDoxygenのPathを自分で入れた場所に書き換え
/Applications/Doxygen.app/Contents/Resources/doxygen(デフォルト
/opt/local/bin/doxygenMacPortsからいれたらここ入る

で、ビルドすればヘルプの製品ドキュメントから開けるように!

チュートリアルやTips

shukujitsuの開発ブログ : cocos2dで最小のゲームを作る - livedoor Blog(ブログ)
最小のゲーム、日本語で順を追ってソースを読めるので、流れを知るのに。
その他このブログではcocos2dに関して多く記事を書かれているようで助かります。

http://www.bit-101.com/blog/?p=2138
チュートリアル、英語だけど同じくソースを説明付きで追える。

More Than Machine
同じくチュートリアル、Chipmunkによる当たり判定やパーティクルなどのサンプル。一番ゲームっぽい。

cocos2dの練習 Game Demo Tutorial #2: Hello Spaceをやってみた: 中年ギーク
↑のチュートリアルをやってみた記事。

http://d.hatena.ne.jp/paella/20090401/1238514951
何日かに分けて、Cocos2dの解説記事あり。

A-Liaison BLOG: cocos2d細かいところメモ
ベクトル計算や音声再生に関してメモが残されてます

Sample

Google Code Archive - Long-term storage for Google Code Project Hosting.
chipmunkを使ったわかりやすい物理演算Demo、プロジェクト名に「_」が入ってるのでinfo.plistのAppIDを変更しないとビルドとおらない。ソースはシンプルなので後で追ってみよう。

ともかくまずはここを読みたまえっていうWiki内の概要のページ

http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:basic_concepts
一行でまとめると
唯一いるDirectorがSceneを管理し、Scene内にLayerが複数あって、Layer内にSpriteかけたりする
というようなことが書かれてる

動画

cocos2d for iPhone, an open source 2d engine - YouTube
どんなことが出来るのか、現行Verではもっと機能追加されてそう。

(随時更新?)

FlashDevelopとFlexSDKで作るAdobeAIR開発環境

これやるの何回目だろう。
それぞれやるたびにバージョンがかなり上がってて(特にFlashDevelopは更新が激しい)
現時点で
・FlashDevelop 3.0.2 RTM
・FlexSDK 3.3
となってました。

Main Page - FlashDevelop
http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3

FlashDevelopはStand AloneモードにしてインストールしたらUserDirの中に書き込めない云々なエラーで起動せず。おとなしくデフォの設定でインストールしなおす。起動OK。

FlashDevelopの設定箇所は2点

・Tools→ProgramSettings
・AS3Context DefaultVersionを最新の10へ(FlashCS3=9, FlashCS4=10, ともにASのバージョンは3)
・FlexSDK Locationを↑で落としたZIPの解凍先のPath。(ex. C:\flex_sdk_3

これでProject→New Project→AIR AS3 Projectorで適当に雛形を作ってF5ビルド→実行で空のWindowが出てくる。

以前は日本語入力周りに不具合があったけどとれてるのぽい。デフォルトでコーディングはUTF8になってるので特に文字コードを変更する必要はないようだけども、FlexSDK(fcsh)が出すエラーメッセージが文字化けしてる。日本語でShift_JISの予感。

英語でエラー出してくれればいいものを……と思いつつ、(flexsdk)/bin/jvm.configを
java.args=-Xmx384m -Dsun.io.useCanonCaches=false -Dfile.encoding=UTF8
と書き換え。直らない。

同一ディレクトリのmxmlc
VMARGS="-Xmx384m -Dsun.io.useCanonCaches=false -Dfile.encoding=UTF8"
と書き換え。直らない。

FlashDevelopの文字設定ところっぽいところも全部UTF8にしてある。

1時間ほど悩んだ。JavaVMがおかしいんじゃ……と思って、最新のSunのJavaをインストール。
無料Javaソフトウェアをダウンロード

で、エラー文字化け直った!Javaのインストールさぼったのが悪かった。Vista標準の何かになってたはず。それと.NET Framework3.5も以前いれたがこっちも最新にしておくといいかもしれない。

というわけで、ちゃんと読めるビルド結果になった。

一応超簡単なHelloWorldのサンプルおいておきますね。

Mainっていう名前で作った雛形に4行(importとMain()の中身)書き足しただけ。
ただ左上に小さな文字でHello Worldと出てくるだけです。

package 
{
	import flash.display.Sprite;
	import flash.text.*;
	/**
	 * ...
	 * @author tanaichi
	 */
	public class Main extends Sprite 
	{		
		public function Main():void 
		{
			var label:TextField = new TextField();
			label.text = "Hello World!";
			addChild(label);
		}
	}
	
}

デバッグ用のtrace();が使えるかどうかも試した、ProgramSettingsからFlashViewerをExternalにして、PathをSDKのPathのRuntime以下にあるFlashPlayer.exeを指定。Outputに出力される。

参考リンク、Thanks!

2009年7月時点で最新のFlashDevelop導入の詳しい話はここに。
無料でFlashの制作環境を構築 FlashDevelopとFlex SDKのインストール | ClockMaker Blog

FlashDevelop 3.0.2 RTM時点での更新履歴や関連情報のまとめ
http://blog.bk-zen.com/2009/07/12/190/

Adobe AIRHello Worldと電卓アプリのサンプルまで。
FlashDevelopとFlex 3 SDKでAdobe AIR - 今日覚えたこと

三鷹プログラマーズカフェ & Mitaka.rb

Mitaka.rb & pgcafe Nite!! : ATND

Timeline眺めてたら午後2時ごろ存在を知り、30分前にReplyして自転車ダッシュで押しかけるも運営の方々のご好意により、参加させていただくことができました。Twitterは流し読みしてても生活圏の地名が出てくると読んでしまう不思議。以下メモ。

iPhoneぽい話。

iPhoneアプリは最近書籍も増えてきて独学環境が整いつつあるけども、周囲に誰も開発者がいないのは心細くて、実際の開発者の声を聞けたのはとてもよかった。まだHello Worldで止まってるけどがんばる。WEBのマッシュアップ系も興味あるけど、2Dゲーム・3Dゲームも色々やってみたくてCocos2Dはゲームにはよさそう。とりたててObjectiveCへの慣れが必要。

と思いつつもRubyな方々がたくさんいて、Rubyの話を聞いていると、Rubyが書きたくなるジレンマ。MacRuby for iPhoneが実現すれば同時解決するかもしれない。

位置測定ぽい話。

Geolocation APIHTML5の新機能の一つ。ガラパゴス携帯が数年前から当たり前に実装していた位置測定をいまさら実装しましたっていう時代遅れな話。ではなく、ガラパゴス携帯がキャリア間の仕様の統一すら図ろうとしなかったのを、HTMLの仕様に組み込んで規格化し主要ブラウザは全対応予定。さらにAPIの仕様と、内部の実装を分離させることにより、GPSでもWifiのAPからの測位でも開発者には関係なく仕える素敵な規格。

WOEID(Where on Earth ID)は全く知らなかったので興味深かった。測地系の緯度経度はRESTfulじゃないから、ID・リソースとして地名を扱えるようにした(さらに住所のように階層構造や、近隣地域などの関係性も定義してある)という素敵なお話。でもiエリア(日本全国を「適当に」エリアとして割ったDocomoの規格、住所と必ずしも一致してない、秋葉原エリアとか?(←秋葉原は住所として存在しない千代田区の一部、だけどエリアとして意味をもってる、ただし秋葉原エリアが本当にiエリアとして定義されているかどうかは忘れたので仕様書参照))も嫌いじゃない、ネットでPublicに位置を他人に伝えたい場合はおおざっぱさが逆にいいのかなと。GPS未搭載の携帯で基地局からの測地も返さない古い携帯がエリアコードだけ返したりする。と思う。(ごめんなさい位置測定の話調べたの大分昔で記憶から掘り起こして書いているためこの辺ソースが確かな情報ではないです)

Virtual Realityブームは終わった(まだ始まる環境が出来てない)と思ってて、VirtualとRealは共存する時代だと思ってるから今いる場所ってすごく大事だと思う。

というわけでiPhoneで位置測定してRailsが応答するシステムを運営されてる30minはすごく興味深いわけですが、時間が足りなかったのが惜しまれます。

などなど

たのしいセッション&LT&雑談な時間でした。
TODO:Haml/Sass触ってみよう&Getting Real読もう。

最後に三鷹リトルスターレストラン、おいしかったよまじで。



#それにしても参加の皆様Geekな方々ばかりでRespect。

Google グループ
7/23(木)「Mitaka.rb Nite!! 〜Mitaka.rb第三回&三鷹プログラマーズカフェ合同懇親会〜」のお知らせ - OneRingToFind

XcodeからビルドしてiPhone実機へ転送し実行するまでの手順

例によってメモ程度に簡単にあらすじをおいつつはまったところを重点的に。
詳しくは参考リンクより解説されているサイトを参照してくだし。

iPhone SDKのインストール

iPhone Dev CenterよりSDK3.0をダウンロード&インストール。
ここまででシミュレータでの開発と動作確認は可能。
以後実機で動かすためにはiDPに登録しないといけない。
登録してないと、DevCenterの右側に99ドル払って開発しましょうメッセージが出ています。

Certification(証明書の発行とか認証とか)

iPhone Developer Programに登録していると、iPhone Dev Centerの右側にiPhone Developer Program Portalへの入り口が出てくるのでポータルへ入る。
その後左のタブからCertificatesを選んで、How toの通りに順次やっていく。

ここで一つはまるのが、個人開発者の場合は自分が全ての権限を持っているけども
チーム開発している場合、RoleがMemberでは証明書の要求に対して承認が出来ない。
なのでAgent(登録者)のアカウントから作業アカウントをAdminに格上げしてもらうか、
ここで行った証明書の要求の承認をAdmin/Agentに行ってもらわないといけない。
とりあえずAdminであればStatus「Pending Approval」からApproveすると、「Pending Issued」になり、数分するとIssuedされCerファイルをDLできる。
というようにAppleIDに対してRoleがAgent/Admin/Memberの三つあるのを知らなくて1回目のちょいハマりポイントでした。

それとWWDR intermediate certificateというのもDLしてキーチェーンに登録しておく。

Deviceの登録

開発機を登録します。Xcodeのオーガナイザから40桁のIDをコピペして適当な名前をつける感じで。
ここで複数の開発機を登録できるみたい。とりあえず手元にあった3Gと3GSの二つを登録してみたけども、双方で動作確認することができた。

App IDs

ここの説明をあまり読んでないけど、ユニークなアプリケーションのIDをつけましょうってことらしい。
いまのところまだ公開/配布までは考えてないので適当な名前とPrefixはRandomにGenerate
Suffixは「*」にしておきました。(本来はExampleにあるようにcom.domainname.appnameのようにすべき?

Provisioning

ここが一番のハマりポイントでした。
ProfileNameを適当につけてCertificatesから自分の名前にチェックをいれてAppIDもさっき作ったものをチェックし、
登録したDeviceにチェックいれてSubmitするとしばらくPendingになって、DLできるようになる。

ここまではいいんだけど、それをXcodeのオーガナイザで登録するところでハマる。
オーガナイザのDevicesに接続したiPhoneが表示されるのでProvisioningに+を押して、
先ほどDLした〜〜〜.mobileprovisioningファイルを選択する。

すると実機より、設定→一般→プロファイルに先ほど作った名前で登録されていることがわかる。
(検証済みになってる。)

サンプルプロジェクトを開いて(あるいは新規作成して)ビルド&実行。

Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.HelloWorld' could not be found

このエラーの解決に時間がかかった。

プロジェクトからプロジェクトの設定の編集(あるいはプロジェクト名を右クリックして情報をみる)から
コード署名IDの部分のAny iPhone Deviceの値のiPhone Developerを変更しようとしてもその他しか出てこない。
どうやっても編集できず、どうやったらProvisioningが適用できるのかわからず3時間ほど悩む。

で、どうやらオーガナイザのDevicesの下にあるIPHONE DEVELOPMENTのProvisioning Profilesになにも入ってないことに気づく。
~/Library/MobileDevice/Provisioning Profiles/も作成されてないことに気づく。

ここに登録されるにはどうしたらいいのかよくわからないのだけど、どうやら単純にダブルクリックすればいけるらしい(オーガナイザを開いた状態でかな?)。
Drag&Dropでもいけるかもしれない。
無事XcodeにProvisioning Profilesが登録されたら、ビルド&実行(左上がSimulatorでなくDeviceで。)すると実機に転送され、動いた!

ただファイルをダブルクリックするだけでよかったのに随分時間がかかってしまった。

2009-06-27 - io_oの日記 / iOS Dev(iPhone,iPad)
最終的にこちらの記事で解決しました。

http://www.codeanimato.com/blog/archives/2008/10/iphone-2.html
こちらでもコメント欄で上記エラーについてのやり取りが。

また以下でも詳しい実機での実行手順が解説されている。
iPhone SDK: Program Portalの解説PDFその1
2008-09-11

iPhoneでJailbreak時の正規開発環境

Jailbrokenな端末で正規のiPhone Developer Programの証明書で開発ができるのかよくわからない。
http://www.iphonedevsdk.com/forum/iphone-sdk-development/19444-developing-codesigned-apps-jailbroken-device.html
この辺にCode Signのエラーについて色々書かれてたり。

一応証明書偽造?してAppleの認証を回避するような方法でXcodeからDeviceを登録して正規環境と同じように開発する方法はある。以下2chからの引用

JailBreak】非公式アプリ開発スレ【ToolChain】
http://pc11.2ch.net/test/read.cgi/iPhone/1218719962/

73 名前: 名無しさん@お腹いっぱい。  Mail: sage 投稿日: 2008/08/27(水) 00:08:49 ID: GSoiggbU0 
みんな、開発の手順はどんな感じですか?

俺はiPhone SDK 2.0で開発しているんだけど、実行ファイルを[app]とすると

1:MacBookのXcodeを使って正規の環境で開発
2:iPhoneのsshで"ps aux; kill [app]"(前のインスタンスが動いていたら)
3:iPhoneのsshで"rm [app]"
4:MacBookからscpでiphoneの/Applications/に丸ごとコピー
5:iPhoneのsshで"ldid -S [app]"
6:SpringBoardから起動

という手順で開発してます(MacOS上でエミュレータ使う時は別ね)。
手順2〜3を省くと、5のldidがKilledしてしまうのでこんな感じになりました。

jailbreakしてからopensshとrespring程度しかインストールしてないのに
同期していたオーディオとビデオが全部「その他」扱いになってしまったので
もしかしたら手順が悪かったのかもしれないと思ったんだけど、どうでしょう?

196 名前: iPhone774G  Mail: sage 投稿日: 2009/04/13(月) 16:00:24 ID: 7LTxew2I0 
うーん。やっぱわからん
>>73はどうやってビルドしてるの?
2.2.1でもwikiに載ってる証明書の作成とかが必要なんですかね?
もうリンク先消されてるけど・・・
197 名前: iPhone774G  Mail: sage 投稿日: 2009/04/13(月) 18:18:15 ID: ID9rQfvm0 
>>196
多分必要ない
ただビルドするときにプラットフォームをシミュレータではなくて
実機OSにすればいいだけだったはず
198 名前: iPhone774G  Mail: sage 投稿日: 2009/04/14(火) 13:54:03 ID: pBLpGO3m0 
>>197
そうなんですか。でもデバイスでビルドするとCode sign error
ってのが出て署名が無くてビルドできずに終わってしまうんですよ

あ、もちろん開発者プログラムは入ってないですけど
それでも>>73とかの方法でいけるって事なんですかね?

202 名前: iPhone774G  Mail: sage 投稿日: 2009/04/15(水) 16:24:44 ID: CWz5WblO0 
>>201ですが
できました!どうもありがとうございます。

Wikiにのってる証明書の作成のリンクは消えてるんですが
ttp://sassandroid.blogspot.com/2009/03/how-to-building-apps-on-jailbroken.html
ここのとおりにやったらできました。たぶん2.2.1限定

オーガナイザにデバイスを登録してビルドすると自動的にインストールされ、
ブレークポイントを使用してのデバッグもできました。
正規の開発方法と同じ用にできるっぽいです。その時点でスレチっぽいですが。

一応あとでWikiに書いてみます。ここの住人には不要かもしれませんが・・・

ここまでは2.2.1の話。

SDK3.0以降

228 名前: iPhone774G  Mail: sage 投稿日: 2009/06/28(日) 13:40:44 ID: JWj73e+o0 
>>225
XCode3.1.3が問題みたい。
SDK2.2.1を/Developer/Oldとかにインストールして、SDK3.0から必要なものを
参照できるようにシンボリックリンク張ればいけるみたい。
http://iphonesdkdev.blogspot.com/2009/06/use-xcode-312-to-build-sdk-30-app-to-30.html

iPhoneRemoteDevice.xcodepluginだけ古いので置き換えてもいけるみたい。
こっちはXCodeがクラッシュして無理って報告もある。
229 名前: iPhone774G  Mail: sage 投稿日: 2009/06/28(日) 15:58:52 ID: JWj73e+o0 
できた。
SDK3.0をインストール、SDK2.2.1を/Developer/221にインストール

sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk \
/Developer/221/Platforms/iPhoneOS.platform/Developer/SDKs

sudo ln -s "/Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.0 (7A341)" \
/Developer/221/Platforms/iPhoneOS.platform/DeviceSupport

sudo mv /Developer/221/Platforms/iPhoneOS.platform/Developer/usr \
/Developer/221/Platforms/iPhoneOS.platform/Developer/_usr

sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr \
/Developer/221/Platforms/iPhoneOS.platform/Developer

/Developer/221/Platforms/iPhoneOS.platform/Info.plist、プロジェクトのInfo.plistを以前のように編集。
iPhone Pwned Developerの証明書を作成。
プロジェクトのコード署名IDをiPhone Pwned Developerに設定。
ユーザ定義の設定にPROVISIONING NOを追加。

CydiaからInstalld Patch for OS 3.0をインストール。http://iphone.org.hk/apt/
iPhoneを再起動。
オーガナイザに登録し直し。

シミュレータはXcode3.1.3でテスト。
実機はXcode3.1.2でテスト。

232 名前: iPhone774G  Mail: sage 投稿日: 2009/07/04(土) 14:44:22 ID: s5FgSssp0 
>>229
参考にさせてもらった、thx。
んでいざやってみると
Code Sign error: a valid provisioning profile matching the application's Identifier(r
ってなったけど

http://www.iphonedevsdk.com/forum/iphone-sdk-tools-utilities/20983-sdk-3-0-xcode-3-1-3-build-go-jailbroken-device-2.html#post98724
これしたら動いた。

楽しくなってきたわー。

というように、どうも公式のSDKを使わないCydiaアプリ(Arm用にビルドしただけの何かとか)ならともかく、公式SDKを使ってXcodeから実機での実行のあたりで、認証っぽい何かが入るっぽい。その為にパッチをあてて回避すればいいようなのだけども、どうもこのパッチが怪しい。

OS3.0から「MobileInstllation Patch」が「Installd Patch」と名前が変わっている。
他にもAppSync3.0というパッチもあるようだけども(ともにCydiaから入る。リポジトリの追加が必要だったかも)、このパッチの適用すると海賊的なアプリも動いてしまうらしいので、ロジックもよくわからないし、なんだか不安です。

Jailbreakしてる時点で、Apple的には違法らしいからなにをいまさらともいえますが、そもそもBlogに書いておいていいような話なのだろうか)

ま、ともかく、色々面倒だったので、SSHで接続できたりRubyが動いたりBackgroundでの実行は魅力的でしたが、元に戻しました。

とことでほとんど引用させてもらっただけですが、またいつかJailbreak環境での開発に興味を持ったときのためにメモ残しておきます。

参考:
iphone "UNOFFICIAL" dev @ 2ch - アットウィキ
http://www.iphonedevsdk.com/forum/iphone-sdk-development/19444-developing-codesigned-apps-jailbroken-device.html
iPhone Software Development: Use XCode 3.1.2 to build SDK 3.0 app to 3.0 Device without provisioning profile
http://sassandroid.blogspot.com/2009/03/how-to-building-apps-on-jailbroken.html
【JailBreak】非公式アプリ開発スレ【ToolChain】

SynergyでMac OSX / Ubuntu / Windows VistaのトリプルPC構成をリンク

MBA導入期が続きます。とりあえず複数のOSとPCをまたがって操作したいときにはSynergyが神。キーボード・マウス・クリップボードの共有が可能です。仮想化すればいいじゃんって話もあるけど、実際DualDisplayするより、DualPC/TriplePCのほうがそれぞれ独立して動いてるので便利だし、ノートメインだと場所もとらずにたくさんの作業領域(画面の広さの意味でもマシンリソース的な意味でも)が確保できてとても快適。しかもノートであればエコです。

設定は簡単でホストがキーボードマウスを操作する側、クライアント側が操作される側で、操作するほうではサーバー設定を。操作されるほうはサーバーのIPを入れてConnectするだけ。

で、Mac/Win/Linuxそれぞれに導入したのは

Windows

普通の本家Synergyのバイナリ版、最初からGUI、ただし要パッチ(すると半角/全角キーが有効になり日本語キーボードの人は便利)
Synergy - Mouse and Keyboard Sharing Software - Symless
→SynergyInstaller-1.3.1.exeで。
Synergy - 斜に
パッチも。

Mac OSX

MacPortsから入るコマンドラインのものはクライアントにする分にはホストのIPを渡すだけだけども、ホストにするときに設定書くのが面倒そうだったのでSynergyKMというGUIなのを導入、システム環境設定のそのほかにSynergyが追加されて簡単にホスト・クライアント共に設定可能。
http://sourceforge.net/projects/synergykm/
→SynergyKM-Beta6.dmgで。

Ubuntu

これも本家からではなく、QuickSynergyというGUIベースの簡単に設定できるものがAPTで入る。個人的にはこの上記二つよりQuickSynergyが一番使いやすい。

$sudo apt-get install quicksynergy

かな?(大分前にいれたので確認取ってません。
Makeしたい人は公式から。
Google Code Archive - Long-term storage for Google Code Project Hosting.
ってMacOSX版もあった!。上記SynergyKMよりQuickSynergyのほうがシンプルで使いやすいと思う。たぶん。

これでMac/Win/Linuxの三つのOSが一つのキーボードとマウスで操作できるようになりました。

以前よりUbuntu/Windowsでの共有はやってたので、Macをさらに追加するにあたってめんどかったのが、やはり日本語入力周り。Macのかな・英数が効かない。がんばればどうにかなりそうだけど、Windows側のIMEのON/OFFに適当なショートカットを割り当てて暫定的に解決。

で、Macではなく試しに使い慣れたHPのUbuntu機をホストに。

この場合、Mac側ではやはり半角・全角キーでIMEのON/OFFができないので、Alt+Spaceを使うとことえりON/OFFが可能。

FirefoxでMacbookのマルチタッチ操作

デフォルト(OSX+Firefox3.5)で二本指上下でスクロール、三本指の左右で戻ると進む、ピッチインアウトで拡大縮小(これは使わないが)
は対応してたけど、僕がFirefoxで多用するのはタブを閉じる、新規タブを開く、タブ間移動なので
それらをマルチタッチでマウスジェスチャーできる方法を探していたんだけど(例えば三本指↓→で閉じるとか)
そういうのはできないっぽいので普通にマルチタッチだけでやってみた

MultiClutch
http://wcrawford.org/2008/02/28/everytime-i-think-about-you-i-touch-my-cell/
これをいれるといいらしい、FirefoxPluginではなくどんなアプリにも設定可能な何か。

Rotate rightにタブを右へ移動 Ctrl+Tab
Rotate leftにタブを左へ移動 Ctrl+Shift+Tab
Swipe upにタブを開く Command+T
Swipe downにタブを閉じる Command+W

これでそこそこ快適ブラウジングできるようになった。
でもやっぱりパッドよりトラックポイントのほうがいいな……。

Windows/UbuntuではCtrl使う場面がComanndになっててとても使いづらいのだけど、まかーからすると普通のことなのかな。
最初からCtrlがAのとなりにあるのはありがたいのだけども、Commandキーの位置押しにくいのは慣れてないから?

参考
http://blog.magical-remix.net/kotalog/archives/236