Cocos2d-xでRPGツクールVX規定サイズのキャラチップ表示
はじめに
以前AndEngineでクォータービューのSRPGを作っていたのですが、風呂敷を広げすぎて収集がつかなくなり約6割の完成度のまま放置中です。
仕事でCocos2d-xを使い始めたことをきっかけに今一度、風呂敷を締めなおしてSRPGを作ろうと思っています。
- 俯瞰ビューのSRPGで独自描画はやらずTiled Map Editorを使う(クォータービューとか素材が少ないのはやめる)
- 画面数は最小構成で基本的にCocosBuilderを使う
- ノベルパートは顔グラのみで立ち絵とか欲張らない
- 基本的なシステムは、初期のファイアーエムブレムをベースにする
- Cocos2d-xとC++自体は、ほぼ経験ないので勉強しながらといういつものパターン
バージョンなど説明
- Cocos2d-x v3.0 alpha 0 (http://www.cocos2d-x.org/)
- Tiled Map Editor v0.91(http://www.mapeditor.org/)
- Cocos Builder v3.0 alpha 5(http://cocosbuilder.com/)
Tiled Map Editorの使い方とかは、 次回RPGツクールのマップチップを使ってみようと思いますので、そのときに詳しい使い方を記載しようかと思います。
参考書籍の紹介
ソースコード自体は、書籍内にすべて記載されているので本だけでアプリを完成させられる。 C++経験がなくてもさくさくすすめると思うが、C言語とかJavaとか他の言語でいいのでプログラミング経験自体はないと厳しいと思う。 CocosBuilderの説明はかなり詳しいので、利用予定の方にはおすすめ。
開発レシピ本、TiledMapEditorに関してちょこっと触れてあったので買いました。 実際にアプリを作った際のノウハウが濃縮してあるので、ある程度Cocos2d-xに慣れてきた人は読んでみると新しい発見や開発効率がアップすると思う。
RPGツクールVX規定サイズのキャラチップを表示
画像提供元:臼井の会 素材支部(http://usui.moo.jp/rpg_tukuru.html )
いつもお世話になってますm( )m
こいつをSpriteFrameで表示したいのです。 ソースでガリガリやってもいいけど、TexturePacker(http://www.codeandweb.com/texturepacker)で作った画像と同じように扱いたいので、plistを作成します。
以下githubに作成したplistがあります。 アクターのactorの数字のところをアクター毎に変えてplistを用意すればいい感じかと。
https://github.com/kyokomi/Cocos2dxSRPGQuest/blob/master/Resources/actor4.plist
作成したplistをSceneで読み込んで表示する。
GameScene.cpp
SpriteFrameCache::getInstance()->addSpriteFramesWithFile("actor4.plist"); Sprite* pActorSprite = Sprite::createWithSpriteFrameName("actor_4_left_2.jpg"); pActorSprite->setPosition(Point(winSize.width * 0.5, winSize.height * 0.5)); pActorSprite->setTag(kActorTag); this->addChild(pActorSprite);
実機で動かしてみると線がチラつく現象が起きた
シミュレーターは問題ないのになーと思って彷徨っていたら同じ問題を解消している方がいたので参考にしてみると見事なおりました。
参考URL:
5.1さらうどん cocos2d-xのCCTMXTiledMapで表示が崩れた時の対処法(http://giginet.hateblo.jp/entry/2013/06/10/031722)
ありがとうございます!
AppDelegate.cpp
bool AppDelegate::applicationDidFinishLaunching() { // initialize director Director* director = Director::getInstance(); EGLView* eglView = EGLView::getInstance(); // チラツキ対策 Director::getInstance()->setProjection(Director::Projection::_2D); /* 〜省略〜 */ }
ccConfig.h 90行目付近
/* 〜省略〜 */ #ifndef CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL // TODO: add 2013/09/28 チラツキ対策 #define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 1 //#define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 0 #endif /* 〜省略〜 */
というわけで、じわじわ作っていきます!!