*

cocos2d-x v2.2からv3.3rc0 その2

公開日: : cocos2d-x, eMon, iOS, イーモン

Blog

イーモンを鋭意更新中です。

アイキャッチは魔法使いの高ランク装備グラです。

cocos v3.3への移行で2日ほどロス

cocos2d-x v3.3のメモです。

RenderTexture:描画

begin/end/clear/newImageなどはすべて非同期で実行される

こちらにあるように描画がコマンドキューを介して実行されるようになりました。

直接newImageなどを実行するとうまくいく保証はありません。

auto rt = RenderTexture::create(100, 100);
rt->begin();
//sprite->visit()など
rt->end();
rt->newImage();//これはv3ではダメ

こんな感じに

static CustomCommand command

...
rt->end();

command.init(rt->getGlobalZOrder());
command.func = [rt] {
	auto image = rt->newImage();
	...//ここで必要な処理
    CC_SAFE_DELETE(image);
};
Director::getInstance()->getRenderer()->addCommand(&command);

非同期なので、キューのコマンドが実行されるまでの間にvisitした
Nodeを移動させたり、拡大縮小などすると意図しない結果になります。

描画位置をずらしたい場合にはsetVirtualViewportが使えました。
RenderTexture::rtTextureRect.originをいじるとかえれます。
こんな感じにしておくと便利かも

void RenderTexture::setVirtualOffset(const cocos2d::Vec2 &rtBegin) {
    _rtTextureRect.origin = rtBegin;
}

Color3B:色

ccREDなどのマクロが、スタティック変数になったため
初期化順で問題がおこる場合があります。

static Color3B testColor = Color3B::WHITE;//!!!bugging

LabelBMとLabelTTF

LabelBMFontもLabelTTFも内部でLabelに委譲しています。

LabelBMFontの文字色をかえる場合は、setColorですが、
なぜかgetColorがオーバーライドされていないので自分で追加する

LabelTTFは、setColor/getColorで文字色をかえられない
setTextColorを使う。setColor/getColorをオーバーライドしてもよさそう。

LabelBMFontが少し右にずれる問題は改善されたようです。

微妙な位置調整はめんどう

NodeGrid(FlipX3Dなどのアクション)

Grid系のアクション(FlipX3DやCCFadeOutTRTiles等)のターゲットは

すべてNodeGridでなければならくなった。置き換えましょう。

クリッピング

visitの処理がかわったのでglEnable(GL_SCISSOR_TEST)を

つかったクリッピングがそのままではできなくなった。

素直にClippingNodeを使う

Spine(Json)

JsonのJson_getSizeの処理がかわった。
sizeを変数でもつようになった

Sponsored Link

関連記事

cocos2dx_portrait.png

Macでcocos2dxをiOSとAndroid向けにビルド

前回Androidの開発環境をセットアップでAndroidの開発環境が準備をしました。 今

記事を読む

emon_banner_small.png

eMon

eMonのプレイ動画をアップロードしました。 なぞって、つなげて回答するシステムが

記事を読む

nice_slice.png

9スライスによる画像の拡大(9 Slice Scaling Image)

画像を拡大する方法には、引き伸す、ピクセルを繰り返す、パターンを繰り返すなどの方法があります。 U

記事を読む

no image

Renderer::visitRenderQueueで落ちる場合

Cocos2d-x v3にしてから描画で突然落ちる場合があり、 原因をたどっていくと、Re

記事を読む

cocos2d-xのSupporting IPv6-only Networks対応

2016年6月1日より、AppStoreに更新されるすべてのアプリは、IPv6-only netwo

記事を読む

Screenshot-2013.11.14-03.18.26.png

Cocos2d-xでGaussianBlur(ぼかしフィルター)

cocos2d-xにGaussianBlurが見つけられず、ググっていたらサンプルをみつけまし

記事を読む

ad9a17c91d332c899c5fec4c70e6ef3a.png

[Mac]cocos2dxをeclipseでビルド

Androidの開発環境をセットアップでEclipse ADTをインストールしました。 Ma

記事を読む

checkbox.png

確認ダイアログ付きチェックボックス(Checkbox)

図のようなチェックボックスとアラートの組合せを実装しようとした際にiOSには外観などを簡単にカスタ

記事を読む

ace.png

イーモンv2.3申請

やっとv2.2がリリースされ、本日v2.3をAppleに申請しました。 v2.3の主

記事を読む

ace.png

イーモン v2.2審査

v2.2を審査に出しました! イーモンxエースクラウンの特別クエストが追加されます!

記事を読む

Sponsored Link

Message

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

Sponsored Link

  • 発音辞書イーモン
  • English Monsters
  • sLog(時間管理アプリ)
  • 生粋のC++プログラマーです。 最近は、Objective-Cやxcode、cocos2d-xなどを学びながらiPhoneアプリを開発しています。

Google+ Google
PAGE TOP ↑