예제 #1
0
void MyListView::add_option(const char* name)
{
	Sprite* option = Sprite::create("situ_item_background_normal.png");
	
	option->setPosition(0,-options_vec.size()*option_height-option_height);

	option->setCascadeOpacityEnabled(true);

	option->setOpacity(0);

	LabelTTF* label = LabelTTF::create(name,"Arial",50);

	label->setFontFillColor(Color3B(249,222,144));

	label->setPosition(option->getBoundingBox().size.width/2,option->getBoundingBox().size.height/2);

	option->addChild(label);

	this->addChild(option);

	this->options_vec.pushBack(option);

	if(options_vec.size()*option_height+option_height>height)
	{
		height = options_vec.size()*option_height+option_height;
	}
}
예제 #2
0
void LevelStartView::initPropList(cocos2d::Layer * pStart)
{
	std::vector<std::string> propList;

	getPropListData(propList);
	
	size_t i = 0;
	for (std::map<std::string, std::string>::iterator it = m_propList.begin(); it != m_propList.end(); ++it)
	{
		Sprite* pPropList = static_cast<Sprite *>(pStart->getChildByName(propList.at(i++)));
		Size s = pPropList->getContentSize();

		Sprite* pProp = Sprite::create(it->first);
		pProp->setScale(1.2f);
		pProp->setPosition(s.width / 2, s.height / 2);
		pProp->setTag(i + 1);
		pPropList->addChild(pProp);

		LabelTTF* propFee = LabelTTF::create(it->second, "fonts/Marker Felt.ttf",36);
		propFee->setFontFillColor(ccc3(126, 126, 126));
		propFee->setPosition(s.width-20, -s.height/2+20);
		pPropList->addChild(propFee);

		auto listener = EventListenerTouchOneByOne::create();
		listener->setSwallowTouches(true);
		listener->onTouchBegan = CC_CALLBACK_2(LevelStartView::onTouchBegan, this);
		listener->onTouchMoved = CC_CALLBACK_2(LevelStartView::onTouchMoved, this);
		listener->onTouchEnded = CC_CALLBACK_2(LevelStartView::onTouchEnded, this);
		this->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, pProp);
	}
}