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 スプライトシートを作成して画像を楽に管理したい

Cocos2d-x スプライトシートを作成して画像を楽に管理したい この記事では、スプライトシートの作成方法と、スプライトシートを利用することのメリットについて紹介します。     …

遊びを繋げ新たな地平へ プレイン Prain

ゲーム制作 Cocos2d-x関連 第9回 「移動しているボールの減速」

この辺りで大体折り返し地点です。   さて、弾いたボールはだんだんと減速していくようにしましょう。色々なやり方があるかと思いますが、今回はシンプルにupdateの中でカウンタを回して、一定回 …

cocos2dx

Cocos2d-x クライアント側のHttpレスポンス処理

この記事は「Cocos2d-x セーブデータをサーバに送信して保存する」の続きになります。 ・第1回 : サーバにデータを保存したい理由と全体の流れ ・第2回 : クライアント側の処理とデータ送信(H …

シミュレータ

ゲーム制作 Cocos2d-x関連 第4回 「画面タッチに反応して画像を出そう」

画面を眺めててもゲームにはならないよ。画面タッチしたいんだけど!   前回までで画像を表示できるようになりましたが、コレではまだゲームとは言えませんね。 今回と次回で、ボールをタップしたら好 …

cocos2dx

Cocos2d-x カスタムイベントを利用してソースコードの可読性をあげる

こんにちは、akiです。 この記事ではカスタムイベントの使い方について説明します。   カスタムイベントとは、ユーザが自由に処理を記述できるイベントのことです。イベントを発行するディスパッチ …