インストール方法はREADME.mdに大体書いてあるけど、何となく使ってみたくなったもので…
- githubから直接cloneしたらgit submodle init / git submodule updateしてね
- python setup.py
- .bash_profileしか出来ないのでzsh派は出来上がった.bash_profileをコピペ
- Android作らないならXcodeだけ入れておけばいいけど、Android版も作りたいならAndroidSDKとかAntとか入れておこう(AntはHomebrewで入るよ)
- python download_deps.py
- external以下にファイルがもりもり増えます。jsonとかsqliteとかwebsocketsとか落ちてくるので必須
- 作業ディレクトリ以下で以下のコマンドを叩く
- cocos new MyGame -p com.your_company.mygame -l cpp -d NEW_PROJECTS_DIR
- -dは省略するとカレントに作ってくれるからいらないかな。-lは言語選択で、luaとjsも選べるけど、cppがメジャーな気がする。C#バインディング作ってくれないかな。
proj.ios_mac/[プロジェクト名].xcodeproj をXcodeで開くと普通に開発できる。Classes/HelloWorldScene.cppをもりもり書き換えてみよう
Resources以下に画像をぶち込んでbool HelloWorld::init()内に
auto your_sprite = Sprite::create("your_sprite.png");
your_sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
this->addChild(your_sprite, 0);
で良い。 というかHelloWorld::init()の中身見れば大体わかる。文字の出し方もわかる。 大体わかったらいらないコードは消しておこう
無指定でSprite::create()すると真っ白が出てくるから調整すればいいよ
auto sprite = Sprite::create();
sprite->setTextureRect(Rect(0, 0, 64, 64));
sprite->setColor(Color3B(127, 255, 255));
sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
this->addChild(sprite, 0);
CCLOG(“hoge");
void HelloWorld::update(float delta) を定義してあげると毎フレーム呼ばれてくれるのでそこで書きたいんだけどcallbackでしかタップ判定取れなくて発狂する。callback嫌いなんだよ!!!
auto touchListener = EventListenerTouchOneByOne::create();
touchListener->setSwallowTouches(true);
touchListener->onTouchBegan = [this](Touch* touch, Event* event){
Point location = touch->getLocation();
auto action = MoveTo::create(2, location); // 2は移動にかかる秒数
this->your_sprite->runAction(action);
return false;
};
_eventDispatcher->addEventListenerWithSceneGraphPriority(touchListener, this);
C++11わからん!!ちなみに[]のところにクロージャ的にキャプチャしたい変数を書くらしいよ。 あとupdate(delta)はinit()にscheduleUpdate();って書いておかないと呼ばれないって誰かが言ってた。
http://www.cocos2d-x.org/wiki/Device_Orientation
if (player_sprite->getBoundingBox().intersectsRect(enemy_sprite->getBoundingBox())) {
CCLOG("hit");
}
えっ入力はcallbackなのにこっちのcallback無いの?何なの?
公式wikiをまず読んだほうがいい http://www.cocos2d-x.org/wiki
とりあえずXcode上で何も考えずにビルドしたらSimulator上で動く。 あとREADME.mdに他環境のビルド方法とか書いてある