cocos2d-x 画面切り替え効果をランダムで行う

cocos2d-x 画面切り替えをランダムで行う

 

 

 

void HelloWorld::nextScene(float frame) {

    Scene* fade = NULL;

    do {

        

        fade = this->getNextTransitionScene(HelloWorld::createScene(), 1.0f);

    } while(NULL == fade);

    

    Director::getInstance()->replaceScene(fade);

}

 

// ランダムで次のSceneを取得する

Scene* HelloWorld::getNextTransitionScene(Scene* nextScene, float transitionTime) {

    

    Scene* fade = NULL;

    int fadeNo = 0;

    srand(time(NULL));

    fadeNo = rand() % 36;

    

    switch(fadeNo) {

        case 0:

            fade = TransitionMoveInT::create(transitionTime,nextScene);

            break;

        case 1:

            fade = TransitionMoveInB::create(transitionTime,nextScene);

            break;

        case 2:

            fade = TransitionMoveInL::create(transitionTime,nextScene);

            break;

        case 3:

            fade = TransitionMoveInR::create(transitionTime,nextScene);

            break;

        case 4:

            // フェード

            fade = TransitionFade::create(transitionTime,nextScene, Color3B::WHITE);

            break;

        case 5:

            fade = TransitionFadeBL::create(transitionTime,nextScene);

            break;

        case 6:

            fade = TransitionFadeTR::create(transitionTime,nextScene);

            break;

        case 7:

            fade = TransitionFadeUp::create(transitionTime,nextScene);

            break;

        case 8:

            fade = TransitionFadeDown::create(transitionTime,nextScene);

            break;

        case 9:

            fade = TransitionCrossFade::create(transitionTime,nextScene);

            break;

        case 10:

            fade = TransitionJumpZoom::create(transitionTime,nextScene);

            break;

        case 11:

            fade = TransitionFlipY::create(transitionTime,nextScene);

            break;

        case 12:

            fade = TransitionFlipX::create(transitionTime,nextScene);

            break;

        case 13:

            fade = TransitionFlipY::create(transitionTime,nextScene);

            break;

        case 14:

            fade = TransitionFlipAngular::create(transitionTime,nextScene);

            break;

        case 15:

            fade = TransitionPageTurn::create(transitionTime,nextScene,false);

            break;

        case 16:

            fade = TransitionPageTurn::create(transitionTime,nextScene,true);

            break;

        case 17:

            // オーバーライドしないと使えないため一旦コメントアウト

            //            fade = TransitionProgress::create(transitionTime,nextScene);

            break;

        case 18:

            fade = TransitionProgressInOut::create(transitionTime,nextScene);

            break;

        case 19:

            fade = TransitionProgressOutIn::create(transitionTime,nextScene);

            break;

        case 20:

            fade = TransitionProgressRadialCW::create(transitionTime,nextScene);

            break;

        case 21:

            fade = TransitionProgressVertical::create(transitionTime,nextScene);

            break;

        case 22:

            fade = TransitionProgressRadialCCW::create(transitionTime,nextScene);

            break;

        case 23:

            fade = TransitionProgressHorizontal::create(transitionTime,nextScene);

            break;            

        case 24:

            fade = TransitionZoomFlipX::create(transitionTime,nextScene);

            break;

        case 25:

            fade = TransitionZoomFlipY::create(transitionTime,nextScene);

            break;            

        case 26:

            fade = TransitionRotoZoom::create(transitionTime,nextScene);

            break;            

        case 27:

            fade = TransitionJumpZoom::create(transitionTime,nextScene);

            break;            

        case 28:

            fade = TransitionZoomFlipAngular::create(transitionTime,nextScene);

            break;            

        case 29:

            fade = TransitionSlideInB::create(transitionTime,nextScene);

            break;            

        case 30:

            fade = TransitionSlideInL::create(transitionTime,nextScene);

            break;            

        case 31:

            fade = TransitionSlideInR::create(transitionTime,nextScene);

            break;            

        case 32:

            fade = TransitionSlideInT::create(transitionTime,nextScene);

            break;            

        case 33:

            fade = TransitionSplitCols::create(transitionTime,nextScene);

            break;            

        case 34:

            fade = TransitionSplitRows::create(transitionTime,nextScene);

            break;            

        case 35:

            fade = TransitionShrinkGrow::create(transitionTime,nextScene);

            break;            

        case 36:

            fade = TransitionTurnOffTiles::create(transitionTime,nextScene);

            break;            

    }

    

    return fade;

    

}

【PHP】月末日を取得する

PHPで 月末日を取得する

 

■月末日

echo date('Y-m-d', mktime(0, 0, 0, date('m') + 1 , 0, date('Y')));

→ 2017-06-30

 

■来月末尾

echo date('Y-m-d', mktime(0, 0, 0, date('m') + 2, 0, date('Y')));

→ 2017-07-31

FAKFontAwesomeで使えるアイコン一覧

FAKFontAwesomeで使えるアイコンは、以下のサイトで確認できる。

 

 

http:// http://fontawesome.io/icons/

 

使いたいアイコンを探すときに便利。

cocos2d-xでlibtool: can't locate file

Mac OSをアップデートしたせいか、cocos2d-xのビルド時に

cocos2d-xでlibtool: can't locate file

が出るようになった。

 

2時間くらい調べてみると、どうやら、

プロジェクト内のcocos2d-xのexternalフォルダにあるライブラリ(*.a)ファイルが

おかしくなっているようだ。

 

cocos2d-xのホームディレクトリのexternalフォルダ内のものに置き換えて、

ライブラリへのリンクを貼り直したら治った。

 

無駄な時間を過ごしたなあ。

UIImageからByte配列を生成する方法

iOS側で生成したUIImageのデータをcocos2d-xのCppインスタンスにByte配列で渡すため、変換処理を作った。

要メモリの開放

 

    UIImage* uiImage = [UIImage initWithName:@"xxxx.png"];    

    NSData* data = UIImagePNGRepresentation(uiImage);

    NSUInteger len = [data length];

    Byte *byteData = (Byte*)malloc(len);

    memcpy(byteData, [data bytes], len);

 

Objective-CからSwiftのクラスを使用する。

NSObjectを継承してビルドすれば、

($Pruduct Name)-Swift.hが自動生成されるので、

 

import  "($Pruduct Name)-Swift.h"

すればいいと各サイトで書いているけど、

file not foundになってた。

 

間違えてないはずなのになあと探していると、

自動出力されるファイル名の設定があった。

 

Build-Settings->Objective-C Generated Interface Header Name 

 

設定では、

-Swift.h

となるように何故かなっていた。

設定しなおして無事解決。

windowsで複数のDocuworksファイルを一括印刷する。

windowsで複数のDocuworksファイルを一括印刷する方法。

 

エクスプローラでファイルを選択して、

右クリックメニューの印刷で可能。

 

注意として、印刷確認ダイアログが出ないので、実行には慎重に