Cocos2dx v3でListViewの要素が隠れてくれないときの解決方法

Cocos2dx v3.4でのアプリ開発Tipsです。

最近CocosStudioが楽しくて使っているのですが、今回はListViewを使ってみようと実装したところ、かなり手こずったので備忘録として残しておきます。

ListViewの要素が隠れず困った

表示までは順調にできたのですが、リストをスクロールしてみると、リスト外でも要素が隠れてくれず、表示されたままになっています。。

しかもリストは緑色。。

何故?

ClippingTypeをSCISSORにすれば解決

ClippingTypeの指定を変更します。

CocosStudioではこれを変更するところが見当たらないので、

コードで引っ張った時に変更します。

ui::ListView* list;
list = layer->getChildByName<ui::ListView*>("listview");
list->setClippingType( ui::Layout::ClippingType::SCISSOR );

こうですね〜。

これで思い描いた通りに表示されているはずです。

余談ですが、AppController.mmのEAGLView生成箇所を編集しても解決はできました。

とはいえ影響範囲が大きいので却下しました。

スポンサーリンク