概要
スマートフォンゲームを開発したい人,必読!
実際に遊べるサンプルを参考にさまざまなジャンルのゲーム制作に挑戦してみよう
本書はC++での開発をベースにパズルゲームやアクションなどの作り方を解説していきます。
ゲーム開発の基本や設計からcocos2d-x Ver.3から利用可能になったC++11を使ったコーディング,リファレンスカウンタ方式のメモリ管理,ゲームエンジンの仕組みやゲームアルゴリズム,クロスプラットフォーム化など開発の核となるテクニックや知識を丁寧に解説しています。
ゲーム開発の基礎をしっかり学ぶことで,作りたいゲームのイメージ,アイデアを練って形にできるノウハウが会得できます。
※2014年11月現在の安定版3.2に完全対応しています。
こんな方におすすめ
- ゲーム開発に興味のある方
- スマートフォン向けにゲームを制作してみたい方
目次
Chapter1 cocos2d-xについて知る
- 1.1 cocos2d-xでできること
- 1.2 cocos2d-x 3.xの特徴
- 1.3 この本の概要
- Column スクリプト言語を使ってみよう
Chapter2 cocos2d-x環境のセットアップ
- 2.0 cocos2d-x環境を構築する
- 2.1 iOS向けの環境構築(Mac)
- 2.2 Android向けの環境構築(Windows/Mac)
- 2.3 cocos2d-xのインストール(Windows/Mac)
- 2.4 テストアプリの実行
- 2.5 ドキュメントの閲覧環境を整える
Chapter3 cocos2d-xの基本的な構造
- 3.0 cocos2d-xの概念とフレームワーク
- 3.1 C++11とcocos2d-x 3.0
- 3.2 リファレンスカウンタ
- 3.3 コンテナ
- 3.4 ノードとシーングラフ
- 3.5 シーンとシーンスタック
Chapter4 カジュアルゲームを作る 『かわずたんキャッチ!』 95
- 4.0 『 かわずたんキャッチ!』を作る
- 4.1 プロジェクトとメインシーンを作る
- 4.2 背景を表示する
- 4.3 プレイヤーを実装する
- 4.4 フルーツを落下させる
- 4.5 プレイヤーにフルーツを取得させる
- 4.6 スコアを表示する
- 4.7 ゲームの状態を管理する
- 4.8 ゲーム終了時の処理を作る
- 4.9 ゲームサウンドを鳴ら
- 4.10 フルーツの種類を追加する
- 4.11 タイトル画面を実装する
- 4.12 演出を強化する
- 4.13 レベルデザインを調整する
- 4.14 『かわずたんキャッチ!』を仕上げる
- Column ネイティブコードの呼び出しについて知ろう
Chapter5 物理エンジンを使ったゲームを作る 『かわずたんジェット!』
- 5.0 『 かわずたんジェット!』を作る
- 5.1 物理エンジンを組み込む
- 5.2『Tiled Map Editor』を使ってマップを作成する
- 5.3 作成したマップを読み込む
- 5.4 プレイヤーを操作できるようにする
- 5.5 物体同士の接触判定を実装する
- 5.6 ステージの切り替えを実装する
- 5.7 ゲームオーバー,コインの取得を実装する
- 5.8 パーティクルを使ってゲームオーバー演出を作る
- 5.9 背景に演出を加える
- 5.10『かわずたんジェット!』を仕上げる
Chapter6 パズルゲームを作る 『かわずたんクラッシュ!』
- 6.0『かわずたんクラッシュ!』を作る
- 6.1 『Cocos Studio』を使って画面配置を作る
- 6.2 メインシーンを作る
- 6.3 クッキーを配置する
- 6.4 クッキーを入れ替える処理を実装する
- 6.5 隣接したクッキーを消去する
- 6.6 クッキーの落下と出現を実装する
- 6.7 クッキーが消去できないとき動かせないようにする
- 6.8 詰み判定を実装する
- 6.9 チェイン数を表示する
- 6.10『ADX2』を導入して音周りを強化する
- 6.10.4 CRI Atom Craftを使ってサウンドファイルを作成する
- 6.11『ADX2』で音楽を鳴らしてみる
- 6.12『ADX2』でチェイン効果音を実装する
- 6.13『ADX2』をもっと使いこなすために
- 6.14『SpriteStudio』で複雑なアニメーションを作成する
- 6.15『かわずたんクラッシュ!』を仕上げる
- Column 『ADX2』のさらに高度な機能を使ってみよう
Chapter7 クロスプラットフォーム対応を行う
- 7.0 クロスプラットフォームに対応させる
- 7.1 複数解像度に対応する
- 7.2 環境によって処理を振り分ける
- 7.3 プラットフォームによって読み込むファイルを切り替える
- 7.4 サウンドコーデックをプラットフォームによって切り替える
Appendix 役立つツールと情報収集
- Appendix1 cocos2d-xの開発に役立つ外部ツール
- Appendix2 cocos2d-xの最新情報を調べる
サポート
ダウンロード
サンプルのダウンロードを行う前に
次の点についてご確認のうえ,ダウンロードを行ってください。
ZIP形式で圧縮してあります。ダウンロード後は解凍してお使いください。
本データの利用につきましては,通常の使用状態では何の問題も発生しないことを確認しておりますが,万が一障害が発生し,その結果いかなる損害が発生したとしても弊社および著者は何ら責任を負うものではありません。そのため,一切の保証をいたしかねます。予めご承知おきください。
本データの使用条件は,本書の「データ利用規約(P.363)」をご覧いただき,ご確認,ご了承のうえ,ご利用ください。
なお,ファイル内の「README」を必ずお読みください。
- ダウンロード
- cocos_material.zip
また,書籍中に記載がありますとおり,完成品のソースコードは以下を参照ください。
補足情報
chapter2 P35 「2.2.3 ADTの導入(Windows/Mac)」
本書の刊行時点(2014年12月)から「Android SDKとADTの導入」について,ダウンロード時のWebページが変更されております。
以下より本書記載のSDKが直接ダウンロードできます(※今後,変更になる可能性があります)。
- Windows(32bit)
- http://dl.google.com/android/adt/adt-bundle-windows-x86-20140702.zip
- Windows(64bit)
- http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20140702.zip
- Mac版
- http://dl.google.com/android/adt/adt-bundle-mac-x86_64-20140702.zip
正誤表
本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。
(2015年1月8日更新)
P.67「3.1.5 ムーブセマンティクス」
最下段コード(ベクターを返す関数)
誤 |
std::vector<int> squareNumbers(std::vector<int> src) {
std::for_each(src.begin(), src.end(), [](int n) {
return n * n;
});
return std::move(v);
}
int main() {
std::vector<int> v0 = {1, 2, 3};
v0 = squareNumbers(std::move(v0)); // {1, 4, 9}
return 0;
}
|
正 |
#include <vector>
#include <iostream>
#include <algorithm>
std::vector<int> squareNumbers(std::vector<int> src) {
std::for_each(src.begin(), src.end(), [](int &n) {
n *= n;
});
return std::move(src);
}
int main() {
std::vector<int> v0{1, 2, 3};
auto v1 = squareNumbers(std::move(v0)); // {1, 4, 9}
for (auto n : v1) {
std::cout << n << std::endl;
}
return 0;
}
|
P.300 「6.11.1 のライブラリを組み込む」
上から2つ目のAndroid.mk
誤 |
# LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static
# LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
-llog \
-lOpenSLES
LOCAL_SHARED_LIBRARIES := libcri_ware_cocos2dx
|
正 |
# LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static
# LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
LOCAL_LDLIBS += \
-llog \
-lOpenSLES
LOCAL_SHARED_LIBRARIES := libcri_ware_cocos2dx
|
P.319 「6.14.4 作成したアニメーションをゲーム中に表示させる」
Windows
誤 |
$ cd path/to/project
$ ./Ss5Converter.exe kawaz.sspj
|
正 |
$ cd path/to/project
$ Ss5Converter kawaz.sspj
|