きょこみのーと

技術に関係ないほうのブログ

Cocos2d-x3.0rc2でRPGっぽい1文字づつ表示するLabelを作った

ちなみに今回やつはTTFのLabelのみ対応です。

ほかは試してないので、if文で弾いてます。(詳しくはソースみてください※ページ下にリンクがあります)

動画とってみた

実装例はこんな感じ

#include "LabelRPG.h"

// ~省略~

bool HelloWorldScene::init()
{
    // ~省略~

    TTFConfig ttfConfig("fonts/Marker Felt.ttf", 
                        fontSize, 
                        GlyphCollection::DYNAMIC);

    // 基本はLabelと同じ
    auto textLabel = LabelRPG::createWithTTF(ttfConfig, "");
    textLabel->setVerticalAlignment(cocos2d::TextVAlignment::TOP);
    textLabel->setHorizontalAlignment(cocos2d::TextHAlignment::LEFT);
    textLabel->setColor(Color3B::WHITE);
    
    // setPositionは使っても意味ないです
    // テキスト送りしながらsetPositionで位置を変えてるので、以下でベースの位置を設定してください
    textLabel->setOriginalPosition(Point(0, textLayer->getContentSize().height));

    // テキスト送り開始(1文字 0.05秒で出す)
    textLabel->setStringWithRunText("こんにちわ!はじめまして!", 0.05f);

    this->addChild(textLabel);

    // ~省略~
}

おわり

今回作ったLabelRPGソースコードgithubに公開してますので、興味のある方はこちらからどうぞ。

(ModalLayerと同じリポジトリで( ゚д゚)ってなってます)※リポジトリ名ミスった( ‘д‘⊂彡☆))Д´) パーン

※2014/05/03 追記 ModalLayerと別のリポジトリに直しました。こちらになります。

何かおかしいところとかあれば報告いただけると嬉しいです。

ご利用等は、ご自由にどうぞ〜