March 4, 2012

ngCore最速チュートリアル

「ngCore最速チュートリアル」という冊子を貰ったのでサンプルコードなどを動かしてみようとしたら、いろいろ情報が足りなくてつまずいたのでメモを残す。環境はMac OSX。

Part 1 は概要の説明なので大丈夫だった。開発者サイト に登録して、SDKを落としてくればいい。また、サンプルコードが CodeZine からダウンロードできるので落としておく(サンプルで使われてる画像なども含まれている)。

準備

Part. 2 で Hello World のサンプルがあるのだが、その説明に

このコードを適当なディレクトリに配置して、ブラウザからアプリのURLを開いてみましょう。

とあるのだが、必要なファイルや指定のファイル名などがあるので、どこでも何でもいい訳じゃない。これは開発者サイトの「リソース」> 「はじめに」へ行くと書いてある。

とりあえず、SDKディレクトリ配下に Projectsというディレクトリを作り、各サンプル用のディレクトリをその下に、必要なファイルと共に作っておくと良いと思う。以下のような感じ。

SDK/
 +- Projects/
 |   +- MyApp
 |   |   +- Code/
 |   |   |   +- Main.js
 |   |   |
 |   |   +- Content/
 |   |   +- NGCore -> ../../NGCore
 |   |   |
 |   |   +- configuration.json
 |   |   +- manifest.json

NGCoreはSDKディレクトリ下のNGCoreへのシンボリックリンク。configuration.jsonmanifest.json は以下のような感じにしておけば良い。

configuration.json サンプル:

{
    "appId": "MY_APP_ID"
}

mafifest.json サンプル:

{
    "code": [
        "./NGCore/Client/Legacy.js",
        "./Code/Main.js"
    ],
    "textures": [],
    "audio": [],
    "others": []
}

後は Main.js を編集して、冊子に載ってるサンプルコードを書いて、ブラウザで localhost:8002/Projects/MyApp/ を開けば動く。configuration.json とかは、ファイル内容が空だと make server で動かしたサーバが落ちるみたいだ。

Part. 2 のサンプル

LIST5 にあるコードで、剣の軌跡を描く部分のコードがちょっと間違ってる。

bg.addChild( this._trajectory._node );

じゃなくて、

bg.addChild( this.trajectory.getNode() );

かな。

LIST6 では DnLib というライブラリを使っているのだが、それは開発者サイトの「リソース」 > 「エンサイクロペディア」 > 「DnLib ドキュメント」からダウンロードできる。

Part. 3 のサンプル

Twitter のタイムラインを取得するサンプルは、注意点に書かれているように、ブラウザでは動かない(Flash のクロスサイトドメインの問題)。リクエストしている URL の出力結果 (json) をローカルに保存して、その Path を指定すれば、ブラウザでも雰囲気はつかめるけど。

iOSのシミュレータなどではまだ試してないので、また今度試したら何か書くかも(しれないし、書かないかもしれない)。

追記 (2012.03.15): 続き を書いた。