Android Cocos2d-x iOS アプリ

Cocos2d-x テキストを1文字ずつ表示する文字送りのやり方

投稿日:2016年10月26日 更新日:

caption_speed

こんにちは。akiです。

この記事ではテキストを1文字ずつ表示する「文字送り」についてCocos2d-xで実装する方法を説明していきます。RPGなどで良く見かけるアレですね。

 

 

基本的な考え方

1.予めテキストを透明化しておく

2.時間差で1文字ずつテキストの透明化を解除する

 

 

プログラム実装


    // テキストの生成&透明化
    Size visibleSize = Director::getInstance()->getVisibleSize();
    Vec2 origin = Director::getInstance()->getVisibleOrigin();
    
    auto text = Label::createWithTTF("文字送りのテストです。\n改行コードも挟めます。", FONT, 10);
    text->setPosition(Vec2(visibleSize.width / 2 + origin.x
                       , visibleSize.height / 2 + origin.y));
    text->setColor(Color3B::WHITE);
    text->setOpacity(0);// ポイント1 テキストの透明化
    this->addChild(text);

    // テキストの透明化解除
    for(int i = 0; i < text->getStringLength(); i++){

        auto func = CallFunc::create([this, i, text](){
            Sprite* sp = text->getLetter(i);
            if(sp != nullptr){
                text->getLetter(i)->setOpacity(255);// ポイント2 テキストを1文字ずつ透明化解除
            }
        });
        
        auto delay = DelayTime::create(.05 * i);
        auto seq = Sequence::create(delay, func, nullptr);
        
        if(text->getLetter(i) != nullptr){
            text->getLetter(i)->runAction(seq);
        }
        
    }

 

 

ポイントはgetLetter()ですね。改行コードも勝手に処理してくれます。

 

細かいテクニックですが、こういう演出がゲームらしさを出すのだと思います。

 

PrainGoogleAdSense

PrainGoogleAdSense

-Android, Cocos2d-x, iOS, アプリ
-, , ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

楽ちん

Cocos2d-x アニメーションの画像追加を楽に行う方法

  この記事では、楽してアニメーション機能を利用する方法について紹介します。   【前回まで】 ・第1回 : アニメーションを利用した回復エフェクトの表示方法 ・第2回 : 加算合成を利用し …

cocos2dx

ゲーム制作 Cocos2d-x関連 第1回 「ゲームを作ろう!!」

ゲーム制作をやってみたい!   誰もが一度はちらっと考えることなのではないでしょうか。しかし一度はそう思うものの、でもやっぱり難しそうだし・・・と思いとどまる方も少なくないはず。 &nbsp …

エフェクト

Cocos2d-x エフェクトアニメーションの終了と同時にエフェクトを消す方法

この記事では、アニメーションを表示し終わった後に、アニメーション表示を消す方法を紹介します。   ゲーム中であれば、アニメーションが1ループしたら消してしまいたいことも多いと思います。 方法 …

アプリ画像

iOSアプリ 実機テストからアプリリリースまでの7つの手順

この記事では、iOSアプリを作成した後、実機でテストしてAppStoreにリリースするまでの一連の手順を紹介します。   手順を検索すると色々なサイトが出てくるのですが、情報が古くなってしま …

エフェクト

Cocos2d-x 加算合成を利用して、背景が黒い画像をアニメーションで使えるようにする方法

アニメーションを利用してエフェクト表示するときに、以下のようなエフェクト素材を目にすることはよくあると思います。背景が透過処理されているものではなく、黒く塗りつぶされているものです。 元になる素材は「 …