2013年08月18日

CocosBuilder / Documentation / 8. Debugging JavaScript Code.md

Debugging JavaScript Code

CocosBuilder と CocosPlayer の最新バージョンは、 JavaScript コードのデバッギングのサポート機能を追加しています。 確認して欲しいのは、 CocosPlayer をビルドしている時にデバッギングは有効になるということです(より詳細は CocosPlayer フォルダにある README.md を参照してください)。

Setting Breakpoints

CocosBuilder は、あなたがあなたのプロジェクトを実行させた時に、 CocosPlayer のデバッガへ自動的に接続するでしょう。

ブレークポイントを設定するためには、 CocosBuilder のテキストエディタであなたがブレークさせたいところに相当する行番号をシンプルにクリックして下さい。 あなたのゲームがブレークポイントにぶつかれば、実行は停止し、テキストエディタ中で行がハイライトされるでしょう。 実行を継続するためには、 CocosPlayer Consol で再生ボタンかステップボタンを押して下さい。

Inspecting variables

ブレークポイントにぶつかって実行が停止すると、現在のスコープにある変数の内部を確認できます。 そのようなことをするためには、 CocosPlayer Console で JavaScript コマンドラインを使って下さい。 あなたがコマンドライン上でタイプするものはすべて、現在のコンテキストで評価され、戻り値はコンソールに表示されるでしょう。 変数の内容を確認するためには、シンプルに、変数の名前をタイプし、エンターキーを押して下さい。

Known issues

JavaScript デバッガはアルファ版なので、まだバグや不安定さが残っているかもしれません。

  • 時折、 CocosPlayer を再起動する必要があります。
  • 不正な行に設定されたブレークポイントは無視されます(例えば空行)。
  • プログラムの実行が開始された後になるまでブレークポイントは CocosPlayer に送られず、スタートアップコード中に設定されたブレークポイントは失われるかもしれません。
  • もし変数の値が偽か0であれば、デバッガは invalid return from eval レスポンスを出力するでしょう。

目次へ戻る

FruitsFields - 寄付代わりに購入いただけると嬉しいです。
Icon-72.png as_available_appstore_icon_20091006.png

サポートページはこちら。
http://cbbandtqb.toypark.in/FruitsFields/index_jpn.html

posted by cbbandtqb at 19:44| Comment(0) | TrackBack(0) | 備忘録 | このブログの読者になる | 更新情報をチェックする

CocosBuilder / Documentation / 7. Automatic Scaling and Sprite Sheets copy.md

Automatic Scaling and Sprite Sheets

CocosBuilder は、あなたのアセットを管理し、自動的に異なるデバイスと解像度に対してそれらのアセットをスケールすることができます。 CocosBuilder はあなたのためにスプライトシートを生成し、スケールすることもできます。

Automatic Scaling

CocosBuilder に、あなたのアセットを自動的にスケールさせるためには、まず最初にあなたの Publish Settings にてあなたのデザイン解像度を設定して下さい。 CocosBuilder の参照スケールは、オリジナルの iPhone 解像度(等倍)になります。 デフォルトで、画像は自動的に、4倍のデザイン解像度もしくは iPad retina ディスプレイから、スケールダウンされるでしょう。 あなたはこれらを変更できますが、注意して欲しいのは、より低い解像度を使うことは、 CocosBuilder に画像のスケールアップをさせることができるということであり、そのことは画像が高解像度デバイス上で見栄えが悪くなることを意味します。 パブリッシュ設定において、あなたが画像やスプライトシートをどの解像度に出力したいかを選ぶことができます。

自動スケーリングを作動させるためには、 CocosBuilder に、画像がデザイン用解像度であることを伝える必要があるでしょう。 そうするためには、画像を resources-auto と名前が付けられたサブディレクトリに置いて下さい。 リソースがサブディレクトリにあるにも関わらず、 CocosBuilder はそれらの画像を、それらのもともとのフォルダにあるかのように表示します。

もしいくつかのリソースに対する自動スケーリングがうまくいかないようであれば、通常はそれらを無効にすることでうまくいく可能性があります。 単純に resources-auto ディレクトリの隣にディレクトリを作り、あなたが無効にしたいと考える解像度を後ろに付けた名前を付けて下さい。 このディレクトリに置いた画像は、 resources-auto ディレクトリにある画像を無効にするでしょう。 例えば、 iPhone retina デバイスに対する画像を無効にするためには、ディレクトリに resources-iphonehd という名前を付けて下さい。

Smart Sprite Sheets

CocosBuilder は、画像のディレクトリをスプライトシートに素早く変換できます。 そのようにするためには、 Project ビューで当該ディレクトリをシンプルに右クリックし、 Make Smart Sprite Sheet を選んで下さい。 当該ディレクトリには、画像だけが含まれているようにすべきです(加えて上述のように異なる解像度や自動スケーリングのためのサブディレクトリがオプション的にあるべきです)。

フォルダがピンクに変わり、それがスマートスプライトシートであることを示すスマイルフェースになるでしょう。 スプライトシートのプロパティを編集するためには、もう一度右クリックして、 Edit Smart Sprite Sheet… を選んで下さい。 出力フォーマットの選択肢から、圧縮とディザリングを選べます。 ディザリングは、 pvr フォーマットの不可逆圧縮のためだけに使われます。 HTML 5 はまだ pvrHTML 5テクスチャをサポートしておらず、それゆえ PNG 画像は設定に関わらず、 HTML 5 に対してエクスポートされるでしょう。

もしあなたがスマートスプライトシートの画像にコードからアクセスする必要があるのであれば、スプライトシートの名前は、 .plist 拡張子が付加されたディレクトリの名前になるでしょう。 スプライトフレームの名前は、画像へのフルパス名となり、そのフルパスは画像が存在しているディレクトリを含んでいます(しかし、 resources-auto のような、リソース特有のディレクトリは除外しています)。

Sound Conversions

音声は最適に再生するためには異なったプラットフォームに対して異なったフォーマットで保存される必要があります。 CocosBuilder はあなたのためにこれを簡便に扱えるようにしています。 自動変換機能を使うために、確認して欲しいのは、全てのあなたのサウンドエフェクトが wav フォーマットで保存されているということです。 より長い音声、バックグラウンドミュージックのようなものは、 mp3 フォーマットで保存されているべきです。 音声がパブリッシュされると、それらは異なるプラットフォームに対して適切なフォーマットに変換されるでしょう。


目次へ戻る

FruitsFields - 寄付代わりに購入いただけると嬉しいです。
Icon-72.png as_available_appstore_icon_20091006.png

サポートページはこちら。
http://cbbandtqb.toypark.in/FruitsFields/index_jpn.html

posted by cbbandtqb at 19:33| Comment(0) | TrackBack(0) | 備忘録 | このブログの読者になる | 更新情報をチェックする

2013年08月10日

Kamcord - Using the Kamcord API: The C Interface

Using the Kamcord API: The C Interface

我々はまた、<Kamcord/Kamcord-C-Interface.h> にあるような C インタフェースも提供しています。 メソッド群は、 Kamcord Objective-C API とほとんど同じであり、 [Kamcord methodName:...] とは逆に Kamcord_MethodName(...) といったフォーマットを取ること以外は同じです。

Initializing Kamcord

Kamcord を初期化するには、以下を呼び出します:

void Kamcord_Init(const char * developerKey,
                  const char * developerSecret,
                  const char * appName,
                  void * parentViewController);

あなたのデベロッパキー、秘密情報、アプリ名、 Kamcord UI を表示する親ビューコントローラへのポインタを渡します。

以下のメソッドを使って、デバイスをブラックリスト化できます:

void Kamcord_SetDeviceBlacklist(bool disableiPod4G,
                                bool disableiPod5G,
                                bool disableiPhone3GS,
                                bool disableiPhone4,
                                bool disableiPad1,
                                bool disableiPad2,
                                bool disableiPadMini);

これらの任意のものを真に設定することで、それらの特定のデバイス上で Kamcord を自動的にオフにすることができます。

もし Kamcord が有効か調べるには、以下を呼ぶことができます:

bool Kamcord_IsEnabled();

Video Recording

動画の録画のライフサイクルの制御のためのメソッド群は、以下の通りです:

void Kamcord_StartRecording();
void Kamcord_StopRecording();
void Kamcord_Pause();
void Kamcord_Resume();

Kamcord が現在録画中か知るためには、以下を呼び出します:

bool Kamcord_IsRecording();

このメソッドで注意して欲しいのは、 Kamcord_StartRecording() 後すぐに呼ばれた場合、偽を返しがちであるということであり、それは Kamcord がフレームをキャプチャし始めるのに数秒要するためとなります。

あなたが録画するどの動画に対しても、我々が強く推奨するのは、動画のメタデータを設定するために以下のメソッド群を呼ぶということです。 これらは、動画をランキングし並べ替えるためのウオッチビューで使われることになるでしょう:

void Kamcord_SetVideoTitle(const char * title);
void Kamcord_SetLevelAndScore(const char * level, double score);

Showing the Kamcord UI

あなたが動画を録画された後で Kamcord 共有 UI を見るためには(すなわち、Kamcord_StartRecording() を呼び出し終えた後で、 Kamcord_StopRecording() によってフォローされた場合)、以下を呼び出します:

void Kamcord_ShowView();

Kamcord のウオッチオンリービューを表示するためには、ちなみにそれは他のユーザによって共有されている動画を表示する UI ですが、以下を呼び出します:

void Kamcord_ShowWatchView();

我々が推奨するのは、ボタンを作るということと、あなたのホームスクリーンのひとつにこれを置き、それがローカルな動画録画状態ににないことがわかるようにします。

Share Settings

もしあなたが Facebook アプリを有しているなら、デフォルトの Kamcord Facebook アプリの代わりにあなたの Facebook アプリを使うことで(iOS 6以上で)すべての動画を Kamcord で共有できます。 そのようにするためには、初期化中にどこかのポイントで以下のメソッド経由であなたの Facebook あぷり ID を設定します:

void Kamcord_SetFacebookAppID(const char * facebookAppID);

以下を呼び出すことで、 Facebook の動画デスクリプションと YouTube デスクリプションとタグを設定できます:

void Kamcord_SetFacebookDescription(const char * description);
void Kamcord_SetYouTubeSettings(const char * description, const char * tags);

Twitter については、(もしユーザが空のメッセージを入力した場合に使われる) デフォルトのツイートと埋め込まれた動画に対するデスクリプションを設定するために、以下のメソッドが使えます。

void Kamcord_SetDefaultTweet(const char * tweet);
void Kamcord_SetTwitterDescription(const char * twitterDescription);

メール共有のためには、デフォルトのメール表題と本文を設定できます:

void Kamcord_SetDefaultEmailSubject(const char * subject);
void Kamcord_SetDefaultEmailBody(const char * body);

Other Video Settings

以下を使うことで、録画された動画の FPS を設定/取得できます:

void Kamcord_SetVideoFPS(int videoFPS);
int Kamcord_VideoFPS();

以下を使うことで録画された動画の長さの最大長を設定/取得できます:

void Kamcord_SetMaximumVideoLength(unsigned int seconds);
unsigned int Kamcord_MaximumVideoLength();

もし動画が設定された時間より長い場合には、最後のN秒だけが含まれるようにトリミングされます。

HUD-less Recording

もし画面上部でレンダリングしている HUD なしであなたのゲームの動画をキャプチャしたいのであれば、あなたのシーンをレンダリングした後、しかしあなたの HUD をレンダリングする前に、以下の呼出しを使うことができます:

void Kamcord_CaptureFrame();

Receiving callbacks in C++ via the IKamcordDelegate abstract class

もしあなたが <Kamcord/Kamcord-CPP-Interface.h> を含めている場合、以下のようにすることによって、 Objective-C の KamcordDelegate プロトコルを実装することで通常受け取られるようなコールバックを C++ で受けることができます:

  1. IKamcordDelegate 抽象クラスの全てのメソッドを実装した C++ クラスを生成して下さい。
  2. IKamcordDelegate を実装したあなたのクラスのインスタンスへのポインタである obj を引数として、 Kamcord_SetDelegate(obj) を呼出して下さい。

目次へ戻る

FruitsFields - 寄付代わりに購入いただけると嬉しいです。
Icon-72.png as_available_appstore_icon_20091006.png

サポートページはこちら。
http://cbbandtqb.toypark.in/FruitsFields/index_jpn.html

posted by cbbandtqb at 06:19| Comment(0) | TrackBack(0) | 備忘録 | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。