各位大侠,我在程序中加载了UI,UI中的Button可以不可以做到跟CCMenuItemImage一样的效果?就是在按钮上抬起才触发事件,否则不触发。
有什么办法么?
各位大侠,我在程序中加载了UI,UI中的Button可以不可以做到跟CCMenuItemImage一样的效果?就是在按钮上抬起才触发事件,否则不触发。
有什么办法么?
以下代码实现可以参考:
// Create the button
UIButton* button = UIButton::create();
button->setTouchEnabled(true);
button->loadTextures("cocosgui/animationbuttonnormal.png", "cocosgui/animationbuttonpressed.png", "");
button->setPosition(ccp(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
button->addTouchEventListener(this, toucheventselector(UIButtonTest::touchEvent));
m_pUiLayer->addWidget(button);
void UIButtonTest::touchEvent(CCObject *pSender, TouchEventType type)
{
switch (type)
{
case TOUCH_EVENT_BEGAN:
m_pDisplayValueLabel->setText(CCString::createWithFormat("Touch Down")->getCString());
break;
case TOUCH_EVENT_MOVED:
m_pDisplayValueLabel->setText(CCString::createWithFormat("Touch Move")->getCString());
break;
case TOUCH_EVENT_ENDED: //触摸结束时处理
m_pDisplayValueLabel->setText(CCString::createWithFormat("Touch Up")->getCString());
break;
case TOUCH_EVENT_CANCELED:
m_pDisplayValueLabel->setText(CCString::createWithFormat("Touch Cancelled")->getCString());
break;
default:
break;
}
}
谢谢版主了。非常好用。 :867: :867: :867: