Cocos Studio v3.x ListView에 PanelNode를 동적으로 추가해보기
5524 단어 cocos2d-xCocosStudio
ListView에 PasrtNode를 추가해 가고, 빨리 GridView적인 것을 만드는 비망록.
Cocos Studio 측의 작업은 할애.
만들고 싶은 것
완성 이미지↓
구현
Main.cpp
//BaseNodeを読み込む
auto baseNode = CSLoader::createNode("BaseNode.csb");
baseNode->setPosition(Vec2(origin.x + visibleSize.width/2, 0));
//ListViewを準備
auto listView = itemNode->getChildByName<ui::ListView*>("ItemList");
//PartsNodeを追加
for (int i = 0; i < 6 ; i++) {
//Partsの読み込み
auto listPartsNode = CSLoader::createNode("Parts.csb");
//スクロールを有効化するためにPartsをLayoutとして取得
auto panelLayout = listPartsNode->getChildByName<ui::Layout*>("Parts");
//PartsNodeを一度削除
listPartsNode->removeChild(panelLayout, true);
//Parts内の要素を諸々設定
auto item = utils::findChildren(*panelLayout, "//Button_0");
auto itemBtn = (Button*)item.front();
itemBtn->setTag(0);
itemBtn->setOpacity(255);
itemBtn->addTouchEventListener(this,toucheventselector(Main::onTouchButton));
//PartsをListViewに追加
listView->addChild(panelLayout);
}
addChild(itemNode);
「pushBackCustomItem」에서의 구현이라면 스크롤이 우단의 한정된 부분에서 밖에 할 수 없고,
또한 PartsNode 내에 설치하고 있는 버튼을 누르지 않아서 단념.
아마, 보통 명부라면 이것으로 문제 없었을 것입니다.
이번은 아무래도 그리드적으로 표시하고 싶었기 때문에(GridView의 방법을 모르고……),
이런 형태로 재현.
참고:
CocosStudio의 UIEditor로 만든 ListView 사용
[Cocos2dx] ui::ListView 비망록
Reference
이 문제에 관하여(Cocos Studio v3.x ListView에 PanelNode를 동적으로 추가해보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/xx_small-yama/items/0cc986578bf3a035248a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)