cocos2d-x 3.0 betaの描画関連ソースを読んだ感想

cocos2d-x 3.x系はバージョンごとに大きな変更が入り、互換性保証が無理無理な状態になってますが、 betaで、ものすごく大きなジャンプが入ったようです。これまでのcocos2d-xの描画は、 ①毎フレーム、DisplayLinkDirectorのmainLoop呼び出し ↓ ②現在のシー…

cocos2d-x 3.xでの、Eclipse(ADT)ブレークポイントデバッグ方法

cocos2d-x3.0Alpha0でのブレークポイントデバッグに成功したのでやり方をメモします。 2.x系のブレークポイントデバッグ方法については、この記事の一番下にあげる本に紹介されてるので読んでください。①清水さんの「Cocos2d-xによるiPhone/Androidアプリプ…

パーティクルの設定をプログラムで動的に変える

※こちらは、細かい使用方法の調査は同僚に行っていただきました。ありがとうございます!パーティクルの色や放出量や半径といったプロパティをCCAction系の使用感覚で変えたいことがあると思います。実は、任意のプロパティの値をTween的に変更する方法が用…

パーティクルを移動した時に残像を出さなくする

パーティクルでCCParticleSystemQuadを使っていて、CCMoveToなどでノードごと移動すると、残像現象が起こります。 どういうことかというと、一度放出された粒子は、ノードのsetPositionに追随せず、 発生点からの計算された軌道にしたがって動くわけです。こ…

CCMoveTo, CCMoveByなどのCCAction系の競合対策

CCMoveToなどのアクションでは、到達時間と目標値(By系は変更量)を指定します。これらは、あるアクションをやっている途中にもうひとつ別のアクションを重ねると、思わぬ動作をすることがあります。 一つ例を挙げます。 あるCCSpriteオブジェクトが(0,0)に…

cocos2d-xでCocosDenshionのデバッグログを出力する方法

CocosDenshionのデバッグ出力マクロCDLOGは、デフォルトの条件付きコンパイルでは何も出力しません。 SimpleAudioEngineは、エラーになってもCDLOGでログを吐いて終了するだけで、他に何もエラー通知をしないメソッドを含んでいる(loadなど)ので、CDLOGを…

cocos2d-xでメモリリークを防ぐ開発習慣

cocos2d-xはC++で開発するため、メモリ管理が自由にできてパフォーマンス最適化がしやすい反面、人為的ミスでメモリリークや解放処理ミスを起こしやすい環境だと言えます。メモリリークや解放処理ミスは再現や修正が非常に難しいバグであり、開発工程終盤に…

SuperAnimationConverterの使い方メモ

最近cocos2d-xでSuperAnimationConverterを使っています。SuperAnimationConverterとは、簡単に言うと、FlashProffesionalで作ったSWFをcocos2dシリーズで再生させるためのツールとライブラリです。 SWFをスプライトシート化するツールは多くありますが、キ…

SuperAnimationConverterのcppファイルのcocos2d-x2.1.4への対応

SuperAnimationConverterという、FlashProffesionalで作ったswfアニメをcocos2dシリーズで再生制御するためのライブラリがあります。ccoos2d-x2.1β3までは対応しているようですが、2.1.4に組み込んだらビルドエラーが出たので、解消方法をメモします。エラー…

cocos2d-xを学習する方法:和書の書評

cocos2d-x関連の和書で、発刊が周知されていた3冊が出揃いました。 この記事では、それらを紹介し、個人のレベルに合わせてどれを読んでいけばいいかお勧めを書きたいと思います。より初心者向けのものから書いていきます。cocos2d-x入門作者: 清水友晶出版…

cocos2dの派生クラスで気をつけること2つ

また釣りっぽいタイトルになってしまった。。。 短いキーワードでタイトルを作ると自ずとそうなるのだろうか。 さて、cocos2d-xの書籍として「cocos2d-x 開発のレシピ」というのが発売されてまして、先日ひと通り読みました。 その上で、CCObjectを継承した…

cocos2d-xでxcodeプロジェクトを作成した時に最初にすべきこと

意図せず釣りっぽいタイトルになってしまった。。。ここではinstall_template.shで導入したテンプレートを使ってxcodeプロジェクトを作成した時に最初にすべきことを書きます。一言で言うと、それはResourcesグループとClassesグループのPathを設定すること…

cocos2d-xで等角タイルマップを扱うときのはまりどころ

■必須設定 http://www.cocos2d-x.org/boards/6/topics/25129 に設定を記載してくださった方がおり、この記事はその紹介です。cocos2d-xバージョン2.1.3rc0(5/1リリース版)で等角タイルマップを扱うための必須設定は以下となります。 AppDelegate.cppに以下…

createJSでクロスドメインの画像ファイルを使った時のマウスイベントエラーへの対処

createjsでは、クロスドメインの問題で悩まされるときがあります。その中の一つに、 「JSファイルを実行しているのと別のドメイン(画像を置いてるサーバなど)から画像をロードしたBitmap/BitmapAnimationだとマウスイベントが拾えない」 という問題があり…

cocos2d-iphone 2.0でのARC対応(2013-02-17追記)

※はじめに書いておくと、この記事は以下の記事に書いてあることを紹介しているだけです。最初から以下の記事を読んでもらえばこの記事は読む必要ないです。大して英語力は必要ないです。 http://www.learn-cocos2d.com/2012/04/enable-arc-cocos2d-project-v…

cocos2d-iphone 2.0でのHD画像を用意しない簡単なRetina対応

(ここではiPhone4SまでのRetina対応に関する知見を書きます。 アスペクト比の変わるiPhone5でどうすべきかは未調査です。)cocos2d-iphone 2.0でのRetina対応ですが、 Retina向けの高精細画像では以下のようにファイル名を変更するだけです。非Retina用:xx…

cocos2d-iphone 2.0で縦画面と横画面を切り替える方法

先の記事 http://d.hatena.ne.jp/DiegoTristan/20130102/1357135643 で、縦画面表示になってしまう理由が不明だと書きました。 その解答が見つかりました。 バージョンはcocos2d-iphone 2.0.0です。結論から言うと、Info.plistのSupported Interface Orienta…

cocos2dのtmxファイルの1レイヤー1タイルセット制限

AIRで作っていたブロック崩しシューティングゲームを放っておいて、 最近はcocos2d-iphoneやTiledMapEditorを触っていました。今回、TiledMapEditorを使っていてはまったことの一つがタイトルの件でした。 1つのレイヤーに複数のタイルセット画像を用いてい…

Eclipseでgithubリポジトリをチェックアウトするメモ

自プロジェクトをアップロードする記事はあっても 他者のプロジェクトをチェックアウトする方法が書いてある記事がなかなか見つからなかったのですが、以下がよかったです。http://rough-and-ready-co-jp.blogspot.jp/2012/02/giteclipsegithub.htmlプロジェ…

自分のキャリアに用いる開発環境を定める

ITエンジニア(ゲーム開発エンジニアを含む意味で)は職務経歴書に 自分の得意な分野、開発環境、言語を書くわけですが、 自分もweb系を始めて1年半。DBにサーバに、一部クライアントにと他の同僚と違い広く浅く経験してきましたが、やはり方向性を絞らねば…

AdobeAIRでのマルチスクリーンサイズ対応

これまでiOS用のアプリしか作ってきませんでしたが、ちょっとしたきっかけでAndroid用の簡単なアプリを作ることになりました。手馴れているのでAIRで作ることにしましたが Androidといえば、やはり様々なスクリーンサイズ対応が問題になってきます。 ちなみ…

githubでフォークして作ったリポジトリをeclipseにプロジェクトとしてインポートした作業メモ

長いタイトルになってしまいました。最近JSのゲームやアニメーションのソースを触っている関係で、 LWFとCreateJSのソースをいじりたくなりました。 どちらも、SWFとHTML5をつなぐJSライブラリとして有名です。 この記事は、 githubでフォークして作ったリポ…

swfからスプライトシートを吐き出す方法のメモ

前の記事の続きです。以下の記事を大いに参考にさせていただきました。 http://d.hatena.ne.jp/DiegoTristan/20121004/1349371840?_ts=1350580477仕事上、過去資産のswfファイルをスプライトシートに吐き出して JSで同じモーションをさせる必要が生じました…

TexturePackerでswfを読み込む

Starling向けのMovieClipを作るときはTextureAtlas用に スプライトシートとxmlファイルが必要ですが、 その解説チュートリアルです。 TexturePackerのページにリンクがありました。 英語ですが、映像をまねして触ればすぐ使いこなせるくらい簡単です。一定動…

CSSSpriteとJSによる極簡単なアニメ

ちょっと仕事上、Flashをつかうほどでもない局面で、 JSで簡単なアニメーションが要求される場面が出ました。なんで、勉強のためにちょっとアニメーションを作ってみました。 http://futsaltacticsboard.appspot.com/JSExperiment/skelton_anime.html ソース…

iOSゲームアプリの一部をブラウザで遊べるようにしました

まだ製作途中ですが、iOSゲームブロック崩しシューティングをWeb上に上げました。 是非プレーして感想および指摘をいただければとおもいます。http://futsaltacticsboard.appspot.com/blockShootingFlash/BlockShootingWeb.html環境はFlashおよびStarlingで…

FlashBuilderでワンソースでモバイルプロジェクトとAS3プロジェクトを両方作るテクニック

大したテクニックでもないですが自分用のメモとして。Flashの利点の一つは、幅広い環境に移植の労が少なく移植できるtことだと思います。スマホアプリの宣伝のため、機能を制限してWeb上で体験してもらうなんてことが可能なのが素敵です。ただ、FlashBuilder…

iOSゲームアプリ、ソース公開しました(ブロック崩しシューティング)

だらだらと作っていたiOS向けゲームのソースを公開しました。https://github.com/monguri/BlockShootingまだまだモックレベルなので、バグ報告、アドバイス歓迎いたします。 あまり参考にしたソースが無く自分で考えた部分が多いので、ソースにひどいところ…

アメリカ人の書いたキャリア関連の本の感想

最近、キャリアや仕事のやり方、会社の中での身の振り方について考えたくなったので、IT業界のキャリア関連の本を2冊読みました。ソフトウェアの世界でキャリアを築く Making it Big in Software作者: サムライトストーン,Sam Lightstone,吉平健治出版社/メ…

FlashBuilderでipaファイルのビルド中にNotAfter...と出たら

証明書期限切れです。すごく丁寧な対処法の解説があったのでリンク貼っておきます。http://mushikago.com/i/?p=705