使用cocostudio UI编辑,并实现列表。
参照testcpp里的ExtensionsTest/CocoStudioGUITest/UIListViewTest,对其理解如下:
先初始化一个元素指针default_button:
UIButton* default_button = UIButton::create(); default_button->setName("TextButton"); default_button->setTouchEnabled(true); default_button->loadTextures("cocosgui/backtotoppressed.png", "cocosgui/backtotopnormal.png", "");
loadTextures为点击前后图片的切换;如果不是用图片加载的,而是用.ExportJson或.Json格式的,则通过如下方式加载:
ul_layer = UILayer::create(); ly_widget = dynamic_cast<UILayout*>( GUIReader::shareReader()->widgetFromJsonFile("Export/NewProject_1/NewProject_1.ExportJson") ); ul_layer->addWidget( ly_widget ); UIButton* default_button = (UIButton*)(ul_layer->getWidgetByName("button_template"));
再将其反复添加进listview(pushBackCustomItem这是添加的意思;而insertCustomItem是插入,其参数多一个插入位置):
for (int i = 0; i < count; ++i) { UIButton* custom_button = UIButton::create(); custom_button->setName("TextButton"); custom_button->setTouchEnabled(true); custom_button->loadTextures("cocosgui/button.png", "cocosgui/buttonHighlighted.png", ""); custom_button->setScale9Enabled(true); custom_button->setSize(default_button->getSize()); Layout *custom_item = Layout::create(); custom_item->setSize(custom_button->getSize()); custom_button->setPosition(ccp(custom_item->getSize().width / 2, custom_item->getSize().height / 2)); custom_item->addChild(custom_button); listView->pushBackCustomItem(custom_item); }
Extensions Test - CocoStudioGUITest (NO.1)
原文:http://blog.csdn.net/zhanzhan0329/article/details/19565839