2015年03月15日

新アプリ、リリース

ライツ◯ウト風パズルゲームです。
お題に合わせてパネルを操作して進みます。

進む方向を選択でき、かかった時間でスコアが変わるので戦略性があります。

ぜひ一度お試しあれ。広告あり無料。
AppStore
posted by aso-developer at 21:30| Comment(0) | 日記

2014年07月17日

cocosbuilder使えず

やっと開発者らしい内容を。

cocos2d-x 3.1.1 、cocosbuilder 3.0-alpha5で詰まった。

cocosbuilderでCCMenuを追加し、プロジェクトでそれをタップした時にイベントを実行させるための部分。
書籍やブログでいろんな方々が紹介されている標準的な方法だと思う。

cocos2d::SEL_MenuHandler GameLayer::onResolveCCBCCMenuItemSelector(cocos2d::Ref* pTarget, const char* pSelectorName)
{
    CCB_SELECTORRESOLVER_CCMENUITEM_GLUE(this, "tappedTest”, GameLayereLayer:: tappedTest);
}

この、CCB_SELECTORRESOLVER_CCMENUITEM_GLUEの行がエラーでビルドできない。

エラー↓
Static_cast from 'void (GameLayer::*)(cocos2d::Ref *, cocos2d::extension::Control::EventType)' to 'cocos2d::SEL_MenuHandler' (aka 'void (cocos2d::Ref::*)(cocos2d::Ref *)') is not allowed

マクロを展開し、調べていくとどうもcocos2d 3.xからはmenu_selectorというのが使えないらしく以下に書き換えたがまた別のエラーになる。
    if(pTarget == this && strcmp(pSelectorName, "tappedTest") == 0)
    {
        return static_cast<cocos2d::SEL_MenuHandler>(std::bind(&GameLayer::tappedTest, this, std::placeholders::_1, std::placeholders::_2))
    }

エラー↓
Cannot cast from type '__bind<void (GameLayer::*)(cocos2d::Ref *, cocos2d::extension::Control::EventType), GameLayer *, std::__1::placeholders::__ph<1> &, std::__1::placeholders::__ph<2> &>' to member pointer type 'cocos2d::SEL_MenuHandler' (aka 'void (cocos2d::Ref::*)(cocos2d::Ref *)')

rvalueリファレンスに関係がありそうでテンプレートを使ってキャストするなどやってみたがダメだった。
template<typename T_class>
T_class castFromRValue(T_class && f)
{
    return std::forward<T_class>(f);;
}

1週間ほどGoogle検索やStackOverflowなど検索してみましたが現状の私のスキルでは解決にいたれなかった。
何か根本的に別の問題があるのか。

とりあえず、英語の勉強とSpritebuilderの勉強を開始して次に進もうとしている。
posted by aso-developer at 17:29| Comment(2) | 日記

2014年06月18日

写経中

現在、cocos2dの書籍を読んで学習中です。
cocosはちょっと覚えるのが時間かかりそうでコードの写経に励んでいるところです。

UMLは軽く触れてみたけど、これも使ってみないと覚えられない感じで使っていってみたいところ。

次のアプリ案はあるので早く開発に移りたいけどあせらずやっていきたいです。
タグ:学習 開発
posted by aso-developer at 16:52| Comment(0) | 日記