【发布时间】:2016-11-28 22:04:09
【问题描述】:
我有一个由 Lobby 和 DrawingCanvas 组成的程序。
在大厅中有一个按钮 - 当您单击它时,它会转到 DrawingCanvas。 如果单击它,还会出现一个精灵。在 DrawingCanvas 中有一个后退按钮,可以让您前往大厅。当您单击后退按钮时,我想从大厅中消失精灵,这样您就可以在没有精灵的情况下拥有干净的大厅。在大厅我有:
Size visibleSize = Director::getInstance() -> getVisibleSize();
cocos2d::Sprite* notification = cocos2d::Sprite::create("NotificationM.png");
notification -> setAnchorPoint(Vec2(0, 0));
notification -> setScale(1.05);
notification -> setPosition(Vec2(150, visibleSize.height));
this -> addChild(notification);
notification -> setTag(99);
这里一切都很好。问题出在 DrawingCanvas 类中。
void DrawingCanvas::bckPressed(Ref *pSender, ui::Widget::TouchEventType eEventType)
{
if (eEventType == ui::Widget::TouchEventType::ENDED)
{
SceneManager::getInstance() -> returnToLobby();
? -> removeChildByTag(99);
}
}
我不知道如何访问 Lobby 类,我的标记为 99 的精灵在哪里,或者从其他类访问通知精灵以隐藏它,例如,不删除。 :-(
【问题讨论】:
-
在 Lobby 类中将通知精灵声明为静态,然后可以通过 DrawingCanvas 类轻松访问。