我是新手哈,请大家多多指教。
使用代码添加cocostudio做的UI后,怎么才能在点击UI按钮后添加新的精灵?
为什么我这么做之后程序总是崩溃呢?如果代码添加UI后直接添加精灵石没问题的。
难道只能在init中才能添加精灵吗?
能看看你这部分是怎么实现的吗?
这是init函数使用UI
UILayer m_pUiLayer=UILayer::create();
UILayout * m_pWidget=dynamic_cast<UILayout>(cocostudio::GUIReader::shareReader()
->widgetFromJsonFile(“welcome_1/welcome_1.ExportJson”));
m_pUiLayer->addWidget(m_pWidget);
this->addChild(m_pUiLayer);
UIButton* btndev=dynamic_cast<UIButton*>(m_pUiLayer->getWidgetByTag(4));
btndev->addTouchEventListener(btndev,toucheventselector(SceneLayer1::btndev));
这是按钮事件
void SceneLayer1::btndev(Object pSender, TouchEventType type)
{
Sprites=Sprite::create(“filename”);
this->addchild(s);
}
我还发现了即使在init函数生成精灵了,想在点击按钮后修改精灵位置也是不行的。
但是切换场景却是可以的。
有人可以帮帮忙吗,不要沉了
你报错断在哪?
编译能通过,但是运行后点击按钮添加精灵就会出现中断,问题出现在this->addchild(“sprite”);
你在init和btndev里面都执行下下面这一句试试。希望你可以发现问题。
CCLOG(“this: %x.”, this);
真是太感谢了,传入btn错了!
小弟在这里谢过了