今作っているゲームが完成を迎えそうです。リリースに向けて最後の調整を行っています。その1つが多言語化対応です。多言語に対応することでターゲットとなるユーザのパイを増やすことができ少しでも多くの人にダウンロードされ遊んでもらえる可能性が増え…
cocos2d-xを触るにあたってc++を真面目に勉強しています。その中で、これまで知らなくて目から鱗が落ちた事が合ったので備忘録的に残しておきたいと思います。c++というかcでは、ローカル変数のスコープはブロック内に閉じ、ブロックを抜けた後の変数の存在…
前回の記事では、cocos2d-xでiOSアプリにGameCenterを実装する前準備まで説明してきました。今回は、GameCenterを利用するための、Xcode上での実際のコーディングについて説明していきます。GameCenter機能は、iOSネイティブで提供されている機能のため勿論O…
cocos2d-x 3.0を使い作っているゲームにランキングボードの実装を行いたかったので、iOSアプリ側ではGameCenterを使ってランキングボードの実装を行います。iOSのGameCenterとはオンラインでのマッチング、取得スコアの共有、ランキングなどオンラインゲーム…
cocos2d-xでカスタムクラスを作るにあたってLayerを継承すべきなのかNodeを継承すべきなのか考えてみました。 継承関係は、Nodeは画面へのすべての描画を司るクラスのルートクラスで、Nodeを継承したクラスのうちの1つがLayerクラスです。Layerのreference…
Easingよく利用しますよね? ただし、Easingを含んだ連続したアニメーションをしたい場合って アクションとアクションのつなぎ目がスムーズにいかないですよね? 僕はそんな状況に直面しました。 具体的には以下のようなコードで、ユーザ画像をY軸に10移動さ…
cocos2d-x rc0からcreate_project.pyがなくなり、全く異なる新しい方法でプロジェクトの作成をするようになりました。 新しい方法は、大きく環境変数の設定とプロジェクトの作成に分かれます。 環境変数の設定は1度きり、プロジェクトの作成は都度行う必要…
cocos2d-xのデフォルトで作ったプロジェクトはlandscape設定されています。 が、気軽にできるゲームとしては片手でできるportraitモードにしたいという人も多いでしょう。 縦横の変更は簡単ですが、cocos2d-xからではなくiOS、Androidそれぞれのネイティブの…
しばらくcocos2d-xから離れていたら3.0がbetaリリースされていました。 書籍を見ながら久しぶりに触っていると結構異なっていてなかなか想い通りに進まない! どんな変更があるのかと見てみると色々大きな変更も多いような。 c++11機能 callbackのためにstd:…
ジャンプさせたり、移動させたりのアニメーションについて説明しました。 が、単独でのアニメーションを利用することは稀で、例えばジャンプと移動を合わせた複合的なアニメーションを使う事の方が多いと思います。 そんな複雑なアニメーションもcocos2d-xで…
cocos2d-xでは、CCActionクラスを使う事でCCNodeが持っているpositionやscale、rotationといったプロパティを、時間とともに変化させ簡単にアニメーションを作ることができます。 CCActionクラスは、createというstaticなメソッドを持っており、第1引数には…
cocos2d-xでマルチディスプレイ対応をしようと思ったら外せないのがsetDesignResolutionSizeとsetContentScale。 いまいち何をしているのかわからず使って来た上、この2つのメソッドがどういった動きをするのか解説しているページもなかったので調べてみた。…
前回の記事で、リソースファイルの読み込み方について説明しましたが もう少しそれを発展させて様々なディスプレイサイズで動作するようにコードを書いていきます。 AppDelegate::applicationDidFinishLaunching // directorの初期化 CCDirector* pDirector …
COCOS2DX Beginer's Guidを読み進めていますが、書籍のバージョンと最新バージョンでは差異がある模様。 スクリーンサイズなどの違いによって利用するリソースファイルを使い分けたい場合、読み込むリソースディレクトリを指定します。 本だと以下のようにな…